Dokument-/Ansichtsarchitektur

Standardmäßig erstellt der MFC-Anwendungs-Assistent ein Anwendungsskelett mit einer Dokumentklasse und einer Ansichtsklasse. MFC trennt die Datenverwaltung in diese beiden Klassen. Das Dokument speichert die Daten und verwaltet das Drucken der Daten und koordiniert das Aktualisieren mehrerer Ansichten der Daten. Die Ansicht zeigt die Daten an und verwaltet die Benutzerinteraktion damit, einschließlich Auswahl und Bearbeitung.

In diesem Modell liest und schreibt ein MFC-Dokumentobjekt Daten in beständigen Speicher. Das Dokument kann auch eine Schnittstelle zu den Daten bereitstellen, wo sie sich befinden (z. B. in einer Datenbank). Ein separates Ansichtsobjekt verwaltet die Datenanzeige, vom Rendern der Daten in einem Fenster bis hin zur Benutzerauswahl und -bearbeitung von Daten. Die Ansicht ruft Anzeigedaten aus dem Dokument ab und kommuniziert mit dem Dokument zurück.

Sie können die Trennung von Dokumenten/Ansichten zwar problemlos außer Kraft setzen oder ignorieren, es gibt jedoch zwingende Gründe, dieses Modell in den meisten Fällen zu befolgen. Eine der besten ist, wenn Sie mehrere Ansichten desselben Dokuments benötigen, z. B. eine Kalkulationstabelle und eine Diagrammansicht. Mit dem Dokument-/Ansichtsmodell kann ein separates Ansichtsobjekt jede Ansicht der Daten darstellen, während sich code gemeinsam mit allen Ansichten (z. B. einem Berechnungsmodul) im Dokument befinden kann. Das Dokument übernimmt auch die Aufgabe, alle Ansichten zu aktualisieren, wenn sich die Daten ändern.

Die MFC-Dokument-/Ansichtsarchitektur erleichtert die Unterstützung mehrerer Ansichten, mehrerer Dokumenttypen, Geteilter Fenster und anderer wertvoller Features der Benutzeroberfläche.

Die Teile des MFC-Frameworks sind sowohl für den Benutzer als auch für Sie, der Programmierer, das Dokument und die Ansicht. Die meisten Ihrer Arbeit bei der Entwicklung einer Anwendung mit dem Framework werden in das Schreiben Von Dokument- und Ansichtsklassen eingefügt. In dieser Artikelfamilie wird folgendes beschrieben:

  • Die Zwecke von Dokumenten und Ansichten und deren Interaktion im Framework.

  • Was Sie tun müssen, um sie zu implementieren.

Im Mittelpunkt der Dokument-/Ansicht stehen vier Hauptklassen:

Die CDocument-Klasse (oder COleDocument) unterstützt Objekte, die zum Speichern oder Steuern der Daten Ihres Programms verwendet werden, und stellt die grundlegenden Funktionen für programmierdefinierte Dokumentklassen bereit. Ein Dokument stellt die Dateneinheit dar, die der Benutzer normalerweise mit dem Befehl "Öffnen" im Menü "Datei" öffnet und mit dem Befehl "Speichern" im Menü "Datei" speichert.

Das CView (oder eine seiner vielen abgeleiteten Klassen) stellt die grundlegenden Funktionen für programmierdefinierte Ansichtsklassen bereit. Eine Ansicht ist an ein Dokument angefügt und fungiert als Vermittler zwischen dem Dokument und dem Benutzer: Die Ansicht rendert ein Bild des Dokuments auf dem Bildschirm und interpretiert benutzereingaben als Vorgänge auf dem Dokument. Die Ansicht rendert das Bild auch für den Druck und die Seitenansicht.

CFrameWnd (oder eine seiner Variationen) unterstützt Objekte, die den Frame um eine oder mehrere Ansichten eines Dokuments bereitstellen.

CDocTemplate (oder CSingleDocTemplate oder CMultiDocTemplate) unterstützt ein Objekt, das ein oder mehrere vorhandene Dokumente eines bestimmten Typs koordiniert und das Erstellen der richtigen Dokument-, Ansichts- und Rahmenfensterobjekte für diesen Typ verwaltet.

Die folgende Abbildung zeigt die Beziehung zwischen einem Dokument und seiner Ansicht.

View is the part of the document that's displayed.
Dokument und Ansicht

Die Dokument-/Ansichtsimplementierung in der Klassenbibliothek trennt die Daten selbst von der Anzeige und von Benutzervorgängen für die Daten. Alle Änderungen an den Daten werden über die Dokumentklasse verwaltet. Die Ansicht ruft diese Schnittstelle auf, um auf die Daten zuzugreifen und sie zu aktualisieren.

Dokumente, ihre zugehörigen Ansichten und die Rahmenfenster, die die Ansichten framen, werden von einer Dokumentvorlage erstellt. Die Dokumentvorlage ist für das Erstellen und Verwalten aller Dokumente eines Dokumenttyps verantwortlich.

Was möchten Sie mehr über

Siehe auch

Benutzeroberflächenelemente
Windows
Rahmenfenster
Dokumentvorlagen und der Erstellungsprozess für Dokument/Ansicht
Dokument-/Ansichtserstellung
Erstellen neuer Dokumente, Fenster und Ansichten