Ранее рассматривалось приложение, основанное на диалоге. Такое приложение типично для визуального программирования. Однако для Visual C++ такие приложения не являются основными. В Visual C++ модель визуального программирования получила дальнейшее развитие в виде архитектуры приложения Document-View. Средство AppWizard позволяет создавать приложения, основанные на документах: приложения с однодокументным интерфейсом (SDI - Single Document Interface) и приложения с многодокументным интерфейсом (MDI - Multiple Document Interface). Они и являются основными для Visual C++.
Созданное в Visual C++ приложение функционирует как набор взаимодействующих объектов. Этот набор не случаен и выбирается не только программистом. В Visual C++ эти объекты организованы в систему со вполне четкой архитектурой Document-View.
Правильно организованный пользовательский интерфейс должен обеспечивать первостепенную роль пользователя, отводя именно ему функции инициации и управления действиями приложения. Самым подходящим для реализации такого требования является интерфейс, сфокусированный на данных. Суть его в том, что пользователь, работая с приложением, не начинает очередное действие с поиска команд, программ и другого инструментария. Прежде всего он должен видеть перед собой нужные данные, которые в свою очередь автоматически сопровождаются необходимыми для работы с ними командами и инструментарием.
Особая роль здесь принадлежит разновидности данных, называемой документом. Это метафора: документ совсем не обязательно текст или таблица. Он может быть картой, мелодией, числом - любым объектом.
Приложение должно строиться так, чтобы, видя один или несколько документов, пользователь сосредоточил внимание на них самих, а не на средствах работы с документами. Архитектура Document-View как раз предоставляет, а в некотором смысле навязывает программисту систему объектов, позволяющих строить приложения, сфокусированные на данных, а точнее - на документах.