CWinApp
1.保護成員CDocManager *m_pDocManager,指向一個文檔管理對象,CWinApp很多對文檔視圖的操作都是調用這個對象的方法
2.GetFirstDocTemplatePosition和GetNextDocTemplate用來遍歷所有的文檔模板,實際是掉用CDocManager的此方法
3.AddDocTemplate:把DocTemplate加入到CDocManager的m_templateList中統一維護
4.OpenDocmentFile:打開一個文檔
5.CloseAllDocment:關閉所有文檔
6.OnFileNew和OnFileOpen:新建或打開一個文檔,在此操作中把子窗口和view一併創建了出來。
CDocment:
1.一個指向文檔模板的指針:CDocmentTemplate *m_pDocTemplate
2.一個保護成員,保存所有和本文檔相關的view,CPtrList *m_viewList,對外提供多種方法操作這個指針數組
CView
1.一個保護成員m_pDocment,指向次view關聯的docment,以及對次成員的操作接口
CFrameWnd:
1. 一個保護成員m_pViewActive:當前活動的view。已經對此成員的操作接口
CDocManager:
1.保護成員CPtrList m_templateList:維護所有調用CWinApp中AddTemplate加入的文檔模板。
CMutiDocTemplate和CSingleDocTemplate
1.GetFirstDocPosition和GetNextDoc遍歷所有Docment
2.CreateNewDocment:用構造函數傳過來的Docment的Runtimeclass創建一個Docment
3.CreateNewFrame:用構造函數傳過來的Frame的Runtimeclass創建一個Frame
4.三個保護成員,分別存儲Docment,view和frame的RuntimeClass。