Поделиться через


Преимущества архитектуры документа и представления

Ключевым преимуществом использования архитектуры документа и представления MFC является то, что архитектура поддерживает несколько представлений одного и того же документа особенно хорошо. (Если вам не требуется несколько представлений и накладные расходы на архитектуру документа/представления избыточны для вашего приложения, вы можете обойтись без этой архитектуры. Альтернативы архитектуре документа/представления.)

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

В MFC представление электронной таблицы и представление диаграммы будут основываться на разных классах, производных от CView. Оба представления будут связаны с одним объектом документа. Документ хранит данные (или, возможно, получает их из базы данных). Оба представления обращаются к документу и отображают данные, полученные из него.

Когда пользователь обновляет одно из представлений, объект этого представления вызывает CDocument::UpdateAllViews. Эта функция уведомляет обо всех представлениях документа, а каждое представление обновляется с помощью последних данных из документа. Единственный вызов UpdateAllViews синхронизирует различные представления.

Этот сценарий будет трудно кодировать без разделения данных от представления, особенно если представления хранят сами данные. С документом и представлением это легко. Платформа выполняет большую часть работы по координации для вас.

Что вы хотите узнать больше о

См. также

Архитектура документа и представления