Sandeep Mewara
Насколько я знаю / понимаю,
Отделение логики представления от логики приложения является основным мотивом, лежащим в основе архитектуры представления документов, используемой приложениями MFC. Например, предположим, что мы используем мастер приложений для создания приложения под названием Demo (принимающего все функции по умолчанию). Среди генерируемых классов-CDemoDoc и CDemoView, производные от CDocument и CView соответственно:
класс CDemoDoc : public CDocument { ... }; // в DemoDoc.h
класс CDemoView : public CView { ... }; // в DemoView.h
В C# есть такие варианты, как MVC и MVVM, как пара общих для достижения этой цели. В основном winforms используют MVC, а приложения WPF используют архитектуру MVVM для разделения модели данных, уровня представления и бизнес-логики.
Теперь возьмем MVC для сравнения например здесь:
- MVC расшифровывается как Model (обрабатывает данные) - View (отвечает за отображение данных пользователю) - Controller (отвечает за получение пользовательского ввода и преобразование в действия над моделями)
- MFC Document-View имеет только 2 компонента. Документ здесь эквивалентен модели. Представление отвечает за представление документов и подключение к вводам пользователей.
Так, высокий уровень, смотреть MFC равно представление-контроллер шаблона проектирования MVC.