Документ/вид или фасад гуя?
От: shvonder Россия  
Дата: 12.10.07 03:04
Оценка:
Господа, если кому не сложно в двух словах : описать архитектуру документ/вид, а то в сети одни скиншоты VC.
Пытался смотреть студийного MFC-мастера код. Вопросы:
1.Сложилось мнение, что и Документ и Вид там прекрасно друг о друге
2.Как взаимодействуют Документ и Вид: напрямую дёргают методы друг друга или посылают команду ?
3.Если посылают команды, то как: в коде или через систему сообщениями ?
4.Есть скажем, такие логические части системы: данные на диске, логика работы с ними и гуй. Кто из них документ?
5.Для пробы реализовал такую систему: слой логики общается с гуем только через интерфейс с одними статическими методами (см. ниже пример). А гуй командует логикой через интерфейс, посылая ему команды. Это хорошее решение или нет? Пример:
//логика влияет на гуй через это
class IGui{
static void InitMainWnd();
static void ShowChannel(<...>);
static bool IsChannelVisible(<...>);
<...>
};

//гуй влияет на логику имея указатель интерфейс:
enum LogicCommand{
LC_SHOW_CHANNEL
<...>
};

struct ILogic{
virtual void OnCommand(LogicCommand cmd) = 0;
};
6.Должны ли объекты документ и вид существовать в качестве глобальных статических ?
Re: Документ/вид или фасад гуя?
От: Андрей Россия  
Дата: 12.10.07 03:33
Оценка: +1
Здравствуйте, shvonder, Вы писали:

skip

На собственном опыте могу тебе сказать, что лучше эту архитектуру не использовать (по крайней мере, ее MFC-шную реализацию).
Слишком тесно документ и вид друг на друга завязаны.

Лучше уж MVC. Правда, ее MFC не поддерживает (DocView, конечно, частный случай MVC. Но слишком ограниченный). Зато ты сможешь реализовать ее как тебе угодно, а не как программисты из M$ решили.
Re[2]: Документ/вид или фасад гуя?
От: shvonder Россия  
Дата: 13.10.07 10:00
Оценка:
Здравствуйте, Андрей, Вы писали:

А>Здравствуйте, shvonder, Вы писали:


skip

Спасибо за ссылку.
Re: Документ/вид или фасад гуя?
От: shvonder Россия  
Дата: 21.10.07 04:43
Оценка:
Для потомков
Model-View-Controller в .Net
Автор(ы): Иван Бодягин
Дата: 25.07.2006
В наше время сложно найти разработчика, который не слышал бы о паттерне под названием Model-View-Controller или сокращенно MVC, что вообщем не удивительно, с задачей отделения данных от их представления сталкиваешься практически на каждом проекте. Однако, как ни странно, столь же сложно найти разработчика, который действительно четко себе представляет, что такое на самом деле паттерн MVC и как его можно реализовать в конкретной ситуации. Основная причина такой неоднозначности в том, что по историческим причинам данной аббревиатурой принято называть не один единственный паттерн, а целое семейство паттернов, призванное отделять представление от модели. Произошло это в силу разных обстоятельств. Отчасти из-за того что MVC не просто паттерн, а довольно объемное архитектурное решение, в котором каждый новый разработчик видел что-то свое и ставя во главу угла особенности своего проекта, реализовывал его по своему. Отчасти же из-за возраста данного паттерна, во времена его изобретения и сами приложения, и графические интерфейсы были существенно беднее чем в наше время, с тех пор они сильно эволюционировали и вместе с ними изменялся и сам паттерн. Данная статья посвящена также одному из паттернов входящих в это семейство, причинам его появления, особенностям применения, преимуществам и недостаткам, а так же описанию сопутствующих паттернов.
, последуещее обсуждение и ссылки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.