Architettura documento/visualizzazione

Per impostazione predefinita, la Creazione guidata applicazione MFC crea uno scheletro di applicazione con una classe documento e una classe di visualizzazione. MFC separa la gestione dei dati in queste due classi. Il documento archivia i dati e gestisce la stampa dei dati e coordina l'aggiornamento di più visualizzazioni dei dati. La visualizzazione visualizza i dati e gestisce l'interazione dell'utente con essa, inclusa la selezione e la modifica.

In questo modello, un oggetto documento MFC legge e scrive i dati nell'archiviazione permanente. Il documento può anche fornire un'interfaccia ai dati ovunque si trovi (ad esempio in un database). Un oggetto visualizzazione separato gestisce la visualizzazione dei dati, dal rendering dei dati in una finestra alla selezione dell'utente e alla modifica dei dati. La vista ottiene i dati visualizzati dal documento e comunica di nuovo al documento eventuali modifiche ai dati.

Sebbene sia possibile eseguire facilmente l'override o ignorare la separazione dei documenti/visualizzazioni, nella maggior parte dei casi esistono motivi interessanti per seguire questo modello. Uno dei migliori è quando sono necessarie più visualizzazioni dello stesso documento, ad esempio un foglio di calcolo e una visualizzazione grafico. Il modello di documento/visualizzazione consente a un oggetto visualizzazione separato di rappresentare ogni visualizzazione dei dati, mentre il codice comune a tutte le visualizzazioni (ad esempio un motore di calcolo) può risiedere nel documento. Il documento assume anche l'attività di aggiornare tutte le visualizzazioni ogni volta che i dati vengono modificati.

L'architettura di documento/visualizzazione MFC semplifica il supporto di più visualizzazioni, più tipi di documento, finestre di suddivisione e altre importanti funzionalità dell'interfaccia utente.

Le parti del framework MFC più visibili sia per l'utente che per l'utente, il programmatore, sono il documento e la visualizzazione. La maggior parte del lavoro nello sviluppo di un'applicazione con il framework consente di scrivere il documento e visualizzare le classi. Questa famiglia di articoli descrive:

  • Gli scopi dei documenti e delle visualizzazioni e del modo in cui interagiscono nel framework.

  • Cosa è necessario fare per implementarli.

Al centro della visualizzazione/documento sono quattro classi chiave:

La classe CDocument (o COleDocument) supporta gli oggetti usati per archiviare o controllare i dati del programma e fornisce le funzionalità di base per le classi di documenti definite dal programmatore. Un documento rappresenta l'unità di dati che l'utente apre in genere con il comando Apri dal menu File e salva con il comando Salva dal menu File.

CView (o una delle numerose classi derivate) fornisce le funzionalità di base per le classi di visualizzazione definite dal programmatore. Una visualizzazione è collegata a un documento e funge da intermediario tra il documento e l'utente: la visualizzazione esegue il rendering di un'immagine del documento sullo schermo e interpreta l'input dell'utente come operazioni sul documento. La visualizzazione esegue anche il rendering dell'immagine sia per la stampa che per l'anteprima di stampa.

CFrameWnd (o una delle relative varianti) supporta oggetti che forniscono la cornice intorno a una o più visualizzazioni di un documento.

CDocTemplate (o CSingleDocTemplate o CMultiDocTemplate) supporta un oggetto che coordina uno o più documenti esistenti di un determinato tipo e gestisce la creazione degli oggetti finestra di documento, visualizzazione e cornice corretti per tale tipo.

Nella figura seguente viene illustrata la relazione tra un documento e la relativa visualizzazione.

View is the part of the document that's displayed.
Documento e visualizzazione

L'implementazione di documento/visualizzazione nella libreria di classi separa i dati stessi dalla relativa visualizzazione e dalle operazioni utente sui dati. Tutte le modifiche apportate ai dati vengono gestite tramite la classe del documento. La vista chiama questa interfaccia per accedere e aggiornare i dati.

I documenti, le visualizzazioni associate e le finestre cornice che incorniciano le visualizzazioni vengono create da un modello di documento. Il modello di documento è responsabile della creazione e della gestione di tutti i documenti di un tipo di documento.

Cosa vuoi sapere di più su

Vedi anche

Elementi dell'interfaccia utente
Windows
Finestre cornice
Modelli di documento e processo di creazione documento/visualizzazione
Creazione di documenti/visualizzazioni
Creazione di nuovi documenti, finestre e visualizzazioni