Freigeben über


Vorteile der Dokument-/Ansichtarchitektur

Der Hauptvorteil bei der Verwendung der MFC-Dokument-/Ansichtsarchitektur besteht darin, dass die Architektur mehrere Ansichten desselben Dokuments besonders gut unterstützt. (Wenn Sie nicht mehrere Ansichten benötigen und der geringe Aufwand für Dokument/Ansicht in Ihrer Anwendung zu groß ist, können Sie die Architektur vermeiden. Alternativen zur Dokument-/Ansichtsarchitektur.)

Angenommen, Ihre Anwendung ermöglicht Benutzern das Anzeigen numerischer Daten entweder im Tabellenkalkulationsformular oder im Diagrammformular. Ein Benutzer möchte möglicherweise gleichzeitig sowohl die Rohdaten als auch das Tabellenkalkulationsformular und ein Diagramm sehen, das aus den Daten resultiert. Sie zeigen diese separaten Ansichten in separaten Rahmenfenstern oder in Teilerbereichen innerhalb eines einzelnen Fensters an. Angenommen, der Benutzer kann die Daten in der Kalkulationstabelle bearbeiten und die Änderungen sofort im Diagramm anzeigen.

In MFC basieren die Tabellenkalkulationsansicht und die Diagrammansicht auf verschiedenen Klassen, die von CView abgeleitet wurden. Beide Ansichten würden einem einzelnen Dokumentobjekt zugeordnet. Das Dokument speichert die Daten (oder ruft sie vielleicht aus einer Datenbank ab). Beide Ansichten greifen auf das Dokument zu und zeigen die Darin abgerufenen Daten an.

Wenn ein Benutzer eine der Ansichten aktualisiert, wird dieses Ansichtsobjekt aufgerufen CDocument::UpdateAllViews. Diese Funktion benachrichtigt alle Ansichten des Dokuments, und jede Ansicht aktualisiert sich mithilfe der neuesten Daten aus dem Dokument. Der einzelne Aufruf, um die verschiedenen Ansichten zu UpdateAllViews synchronisieren.

Dieses Szenario wäre schwierig zu codieren, ohne dass Daten von der Ansicht getrennt werden, insbesondere, wenn die Ansichten die Daten selbst gespeichert haben. Mit Dokument/Ansicht ist es einfach. Der Rahmen erledigt die meisten Koordinationsaufgaben für Sie.

Was möchten Sie mehr über

Siehe auch

Dokument-/Ansichtsarchitektur