Architecture document/vue

Par défaut, l’Assistant Application MFC crée un squelette d’application avec une classe de document et une classe d’affichage. MFC sépare la gestion des données dans ces deux classes. Le document stocke les données et gère l’impression des données et coordonne la mise à jour de plusieurs vues des données. La vue affiche les données et gère l’interaction de l’utilisateur avec elle, y compris la sélection et la modification.

Dans ce modèle, un objet de document MFC lit et écrit des données dans un stockage persistant. Le document peut également fournir une interface aux données où qu’elles résident (par exemple, dans une base de données). Un objet d’affichage distinct gère l’affichage des données, de l’affichage des données dans une fenêtre à la sélection utilisateur et à la modification des données. La vue obtient les données d’affichage du document et communique avec le document toutes les modifications apportées aux données.

Bien que vous puissiez facilement remplacer ou ignorer la séparation de document/vue, il existe des raisons attrayantes de suivre ce modèle dans la plupart des cas. L’un des meilleurs est quand vous avez besoin de plusieurs vues du même document, telles qu’une feuille de calcul et une vue de graphique. Le modèle de document/vue permet à un objet d’affichage distinct de représenter chaque vue des données, tandis que le code commun à tous les affichages (comme un moteur de calcul) peut résider dans le document. Le document prend également en charge la tâche de mettre à jour tous les affichages chaque fois que les données changent.

L’architecture de document/vue MFC facilite la prise en charge de plusieurs vues, de plusieurs types de documents, de fenêtres de fractionnement et d’autres fonctionnalités d’interface utilisateur précieuses.

Les parties de l’infrastructure MFC les plus visibles à la fois pour l’utilisateur et pour vous, le programmeur, sont le document et la vue. La plupart de votre travail dans le développement d’une application avec l’infrastructure passe à l’écriture de vos classes de document et d’affichage. Cette famille d’articles décrit les éléments suivants :

  • Les objectifs des documents et des vues et la façon dont ils interagissent dans l’infrastructure.

  • Ce que vous devez faire pour les implémenter.

Au cœur du document/affichage se trouvent quatre classes clés :

La classe CDocument (ou COleDocument) prend en charge les objets utilisés pour stocker ou contrôler les données de votre programme et fournit les fonctionnalités de base pour les classes de document définies par le programmeur. Un document représente l’unité de données que l’utilisateur ouvre généralement avec la commande Ouvrir dans le menu Fichier et enregistre avec la commande Enregistrer dans le menu Fichier.

Le CView (ou l’une de ses nombreuses classes dérivées) fournit les fonctionnalités de base pour les classes d’affichage définies par le programmeur. Une vue est attachée à un document et sert d’intermédiaire entre le document et l’utilisateur : l’affichage affiche une image du document à l’écran et interprète l’entrée de l’utilisateur en tant qu’opérations sur le document. La vue affiche également l’image pour l’impression et l’aperçu avant impression.

CFrameWnd (ou l’une de ses variantes) prend en charge les objets qui fournissent le cadre autour d’une ou plusieurs vues d’un document.

CDocTemplate (ou CSingleDocTemplate ou CMultiDocTemplate) prend en charge un objet qui coordonne un ou plusieurs documents existants d’un type donné et gère la création des objets de fenêtre de document, d’affichage et de cadre appropriés pour ce type.

La figure suivante montre la relation entre un document et son affichage.

View is the part of the document that's displayed.
Document et affichage

L’implémentation de document/vue dans la bibliothèque de classes sépare les données de son affichage et des opérations utilisateur sur les données. Toutes les modifications apportées aux données sont gérées via la classe de document. La vue appelle cette interface pour accéder aux données et les mettre à jour.

Les documents, leurs vues associées et les fenêtres de cadre qui cadrent les vues sont créées par un modèle de document. Le modèle de document est responsable de la création et de la gestion de tous les documents d’un type de document.

Que voulez-vous en savoir plus sur

Voir aussi

Éléments de l’interface utilisateur
Windows
Fenêtres frame
Modèles de document et processus de création de document/affichage
Création de documents/affichages
Création de documents, fenêtres et vues