文件/檢視架構的優點
使用 MFC 檔/檢視架構的主要優點是架構特別支援相同檔的多個檢視。 (如果您不需要多個檢視,而且應用程式中的檔/檢視額外負荷過大,您可以避免架構。 檔/檢視架構 的替代方案。
假設您的應用程式可讓使用者在試算表表單或圖表表單中檢視數值資料。 使用者可能會想要同時看到原始資料,以試算表形式顯示,以及從資料產生的圖表。 您可以在個別框架視窗或單一視窗內的分割器窗格中顯示這些個別檢視。 現在假設使用者可以編輯試算表中的資料,並立即查看圖表中反映的變更。
在 MFC 中,試算表檢視和圖表檢視會以衍生自 CView 的不同類別為基礎。 這兩個檢視都會與單一檔物件相關聯。 檔會儲存資料(或可能從資料庫取得資料)。 這兩個檢視都會存取檔,並顯示他們從中擷取的資料。
當使用者更新其中一個檢視時,該檢視物件會呼叫 CDocument::UpdateAllViews
。 該函式會通知檔的所有檢視,而且每個檢視都會使用檔的最新資料自行更新。 要同步處理不同檢視的單一呼叫 UpdateAllViews
。
如果沒有資料與檢視區隔,此案例很難撰寫程式碼,特別是當檢視本身儲存資料時。 使用檔/檢視,很容易。 此架構會為您執行大部分的協調工作。