Sdílet prostřednictvím


Alternativy k architektuře dokument/zobrazení

Aplikace knihovny MFC architekturu document/view normálně používat ke správě informací, formátů a vizuální reprezentace dat uživatelům.Pro většinu aplikací architekturu document/view je architektura aplikace přiměřený a účinný.Tato architektura odděluje data ze zobrazení a ve většině případů, zjednodušuje aplikace a redukuje nadbytečný kód.

Však není vhodné pro některé situace architekturu document/view.Zvažte tyto příklady:

  • Pokud provádíte přenos aplikace napsané v C pro Windows, můžete k dokončení port před přidáním podpora dokument/pohled do vaší aplikace.

  • Pokud vytváříte lehký nástroj, je možné provést bez architekturu document/view.

  • Pokud původní kód již směsi správy dat s daty zobrazení pohyblivého kódu pro dokument/view model stojí ne úsilí vzhledem k tomu, že je třeba oddělit dvě.Můžete chtít nechat kód, jak je.

Chcete-li vytvořit aplikaci, která se nepoužívají architekturu document/view, zrušte Podpora architektury dokument/pohled políčko v kroku 1 Průvodce aplikace knihovny MFC.Viz Průvodce aplikací knihovny MFC podrobnosti.

[!POZNÁMKA]

Dialogové aplikace vyrobené pomocí Průvodce aplikací knihovny MFC architekturu document/view, nepoužívejte proto Podpora architektury dokument/pohled je zakázáno zaškrtávací pole, pokud jste vybrali typ dialogového okna aplikace.

Průvodci Visual C++, jakož i zdroje a dialogové okno Editor, stejně jako ostatní generované průvodcem aplikace pracovat s generované aplikací.Aplikace podporuje panely nástrojů, posuvníky a stavový řádek a má o pole.Aplikace nebude registrovat všechny šablony dokumentu a nebude obsahovat třídy dokumentu.

Poznámka, že generované aplikace obsahuje zobrazení třídy CChildView, odvozené z CWnd.Knihovna MFC vytvoří a umístí jednu instanci třídy zobrazení v okně rámce vytvořené v aplikaci.MFC stále zajišťuje pomocí okna zobrazení, protože zjednodušuje umístění a správě obsahu aplikace.Můžete přidat kód Malování OnPaint členy této třídy.Váš kód by měl přidat posuvníky, zobrazení, nikoli na snímek.

Vzhledem k tomu, že je odpovědný za provádění mnoha základních funkcí aplikace architekturu document/view, poskytnuté knihovnou MFC, jeho nepřítomnost v projektu znamená, že odpovědné za provádění mnoho důležitých funkcí aplikace:

  • Podle Průvodce aplikace knihovny MFC, nabídka aplikace obsahuje pouze New a Exit na příkazy souboru nabídky. ( New Příkaz je podporován pouze pro aplikace MDI, není aplikace SDI bez Document/View podporují.) Nabídka generované zdrojů nebude podporovat seznam MRU (naposledy použité).

  • Je třeba přidat obslužné rutiny funkce a implementace pro všechny příkazy, které budou podporovat aplikace, včetně Otevřít a Uložit na souboru nabídky.Knihovna MFC poskytuje kód pro podporu těchto funkcí, normálně, ale, že podpora je pevně vázán na architekturu document/view.

  • Panel nástrojů pro aplikaci, pokud je požadováno, bude minimální.

Je doporučeno použít Průvodce aplikací knihovny MFC k vytvoření aplikací bez architekturu document/view, protože zaručuje správné architektury knihovny MFC, průvodce.Pokud je třeba se vyvarovat použití průvodce, zde jsou však několik přístupů pro vynechání architektury Dokument/view v kódu:

  • Zpracování dokumentu jako nepoužívané appendage a implementovat kód správy dat v zobrazení třídy navržené výše.Režie dokumentu je relativně nízká.Jeden CDocument objekt vzniká malé množství režie sám o sobě, plus malé režijní náklady na CDocumentprvku základní třídy, třídy CCmdTarget a třídy CObject.Obě tyto třídy jsou malé.

    Deklarované v CDocument:

    • Dva CString objekty.

    • Tři BOOLs.

    • Jeden CDocTemplate ukazatele.

    • Jeden CPtrList objekt, který obsahuje seznam zobrazení dokumentu.

    Kromě toho dokumentu vyžaduje čas vytvoření objektu dokumentu, jeho zobrazení objektů, okna rámce a objektu šablony dokumentu.

  • Zpracování dokumentu a zobrazení jako nepoužívané postranní řetězce.Správa dat a výkresu kód, umístěte v okně rámce spíše než zobrazení.Tento přístup je blíže k jazyka C, programovacího modelu.

  • Přepište části rozhraní knihovny MFC, které vytvoření dokumentu a zobrazení k odstranění ve všech jejich vytvoření.Proces vytváření dokumentu začíná volání CWinApp::AddDocTemplate.Odstranit toto volání z třídy aplikace InitInstance členské funkce a místo toho vytvořit okno rámce v InitInstance sami.Ukládat data management kód ve třídě okna rámce.Procesu vytváření dokumentu/zobrazení je znázorněn v Vytváření Document/View.To je náročnější a vyžaduje hlubší porozumění rámci, ale uvolní se výhradně z režie dokument/pohled.

V článku MFC: použití databáze tříd bez dokumentů a zobrazení konkrétnější příklady alternativy dokument/view v rámci databázové aplikace.

Viz také

Koncepty

Architektonický model dokument/zobrazení