logo search
Конспект по ООПиП ч

22. Архитектура «Документ/представление».

Классы документа и представления.

При разработке программ в VC++ и MFC обычно предполагается использование архитектуры «документ/представление». Названная архитектура позволяет связать данные с их представлением пользователю на экране. Логическое разделение данных программы и методов их визуального представления позволяет отображать документы разными способами, связав документ с несколькими представлениями (например, в Microsoft Word доступны три вида одного и того же документа: обычный, разметка страниц и структура документа). Кроме того, в этом случае изменения, вносимые в документ в одном представлении, отображаются во всех других. В разработке приложений можно использовать как готовые представления (основанные на элементах управления, таких, как, деревья просмотра, списки, предоставляемых MFC), так и создавать собственные, перегружая функцию отображения, обработчики сообщений от клавиатуры, мыши и пунктов меню.

Архитектура «документ/представление» предоставляет множество возможностей для работы с документом. Так, AppWizard способен генерировать каркас приложения, реализующий документы и представления средствами классов, производных от классов CDocument и CView (классы документа и представления).

Класс документа в MFC отвечает за хранение данных, а также за их загрузку из файлов на диске; содержит функции, позволяющие другим классам (в частности, классу представления) получать или изменять данные таким образом, чтобы они были доступны для просмотра и редактирования. Этот класс должен обрабатывать команды меню, непосредственно воздействующие на данные документа.

Представление – это часть программы, использующая библиотеку MFC для управления окном просмотра, обработки информации, вводимой пользователем, и отображения документа в окне.