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


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

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

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

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

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

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

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

См. также

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