Sdílet prostřednictvím


Architektonický model dokument/zobrazení

Průvodce aplikací MFC ve výchozím nastavení vytvoří kostru aplikace s třídou dokumentu a třídou zobrazení. MFC odděluje správu dat do těchto dvou tříd. Dokument ukládá data a spravuje tisk dat a koordinuje aktualizaci více zobrazení dat. Zobrazení zobrazuje data a spravuje interakce uživatelů s ním, včetně výběru a úprav.

V tomto modelu objekt dokumentu MFC čte a zapisuje data do trvalého úložiště. Dokument může také poskytnout rozhraní pro data, ať se nacházejí kdekoli (například v databázi). Samostatný objekt zobrazení spravuje zobrazení dat, od vykreslení dat v okně až po výběr uživatele a úpravy dat. Zobrazení získá zobrazovaná data z dokumentu a předá zpět dokumentu všechny změny dat.

I když můžete snadno přepsat nebo ignorovat oddělení dokumentu nebo zobrazení, ve většině případů existují přesvědčivé důvody, proč postupovat podle tohoto modelu. Jedním z nejlepších je, když potřebujete více zobrazení stejného dokumentu, jako je tabulka i zobrazení grafu. Model dokumentu/zobrazení umožňuje samostatnému objektu zobrazení znázorňovat každé zobrazení dat, zatímco kód společný pro všechna zobrazení (například výpočetní modul) se může nacházet v dokumentu. Dokument také přebírá úlohu aktualizace všech zobrazení při každé změně dat.

Architektura dokumentů a zobrazení MFC usnadňuje podporu více zobrazení, více typů dokumentů, rozdělených oken a dalších cenných funkcí uživatelského rozhraní.

Části architektury MFC, které jsou nejvíce viditelné pro uživatele i pro vás, programátora, jsou dokument a zobrazení. Většina práce při vývoji aplikace s architekturou se zabývá psaním dokumentů a zobrazení tříd. Tento článek popisuje:

  • Účel dokumentů a zobrazení a jejich interakce v rámci.

  • Co musíte udělat, abyste je implementovali.

Jádrem dokumentu/zobrazení jsou čtyři klíčové třídy:

CDocument (nebo COleDocument) třída podporuje objekty používané k ukládání nebo řízení dat programu a poskytuje základní funkce pro programově definované třídy dokumentů. Dokument představuje jednotku dat, kterou uživatel obvykle otevře pomocí příkazu Otevřít v nabídce Soubor a uloží pomocí příkazu Uložit v nabídce Soubor.

CView (nebo jedna z jejích mnoha odvozených tříd) poskytuje základní funkce pro programově definované třídy zobrazení. Zobrazení je připojené k dokumentu a funguje jako zprostředkovatel mezi dokumentem a uživatelem: zobrazení vykreslí obrázek dokumentu na obrazovce a interpretuje vstup uživatele jako operace s dokumentem. Zobrazení také vykreslí obrázek pro tisk i náhled.

CFrameWnd (nebo jeden z jeho variant) podporuje objekty, které poskytují rámec kolem jednoho nebo více zobrazení dokumentu.

CDocTemplate (nebo CSingleDocTemplate nebo CMultiDocTemplate) podporuje objekt, který koordinuje jeden nebo více existujících dokumentů daného typu a spravuje vytváření správných objektů okna dokumentu, zobrazení a rámečku pro daný typ.

Následující obrázek znázorňuje vztah mezi dokumentem a jeho zobrazením.

View is the part of the document that's displayed.
Dokument a zobrazení

Implementace dokumentu/zobrazení v knihovně tříd odděluje samotná data od jeho zobrazení a od uživatelských operací s daty. Všechny změny dat se spravují prostřednictvím třídy dokumentů. Zobrazení volá toto rozhraní pro přístup k datům a jejich aktualizaci.

Dokumenty, jejich přidružená zobrazení a okna s rámečkem, která rámují zobrazení, jsou vytvořena šablonou dokumentu. Šablona dokumentu zodpovídá za vytváření a správu všech dokumentů jednoho typu dokumentu.

O čem chcete vědět víc

Viz také

Prvky uživatelského rozhraní
Windows
Okna s rámečkem
Šablony dokumentů a proces vytváření dokumentů/zobrazení
Vytvoření dokumentu nebo zobrazení
Vytváření nových dokumentů, oken a zobrazení