Výhody architektury dokument/zobrazení
Klíčovou výhodou použití architektury dokumentů a zobrazení MFC je, že architektura podporuje více zobrazení stejného dokumentu zejména dobře. (Pokud nepotřebujete více zobrazení a malá režie dokumentu nebo zobrazení je ve vaší aplikaci příliš velká, můžete se této architektuře vyhnout. Alternativy k architektuře dokumentů/zobrazení.)
Předpokládejme, že vaše aplikace umožňuje uživatelům zobrazit číselná data ve formuláři tabulky nebo ve formuláři grafu. Uživatel může chtít zobrazit nezpracovaná data ve formuláři tabulky i graf, který je výsledkem dat. Tato samostatná zobrazení se zobrazí v samostatných oknech s rámečkem nebo v příčkách rozdělovačů v jednom okně. Teď předpokládejme, že uživatel může upravovat data v tabulce a okamžitě se změny projeví v grafu.
V prostředí MFC by zobrazení tabulky a zobrazení grafu byly založeny na různých třídách odvozených z objektu CView. Obě zobrazení by byla přidružená k jednomu objektu dokumentu. Dokument ukládá data (nebo je možná získá z databáze). Obě zobrazení přistupují k dokumentu a zobrazují data, která z něj načítají.
Když uživatel aktualizuje jedno ze zobrazení, tato zobrazení objekt volá CDocument::UpdateAllViews
. Tato funkce upozorní všechna zobrazení dokumentu a každé zobrazení se aktualizuje pomocí nejnovějších dat z dokumentu. Jediné volání pro UpdateAllViews
synchronizaci různých zobrazení.
Tento scénář by byl obtížné kódovat bez oddělení dat ze zobrazení, zejména pokud zobrazení ukládaly samotná data. S dokumentem nebo zobrazením je to snadné. Rámec pro vás většinu koordinace funguje.