MVC Pattern
OVERVIEW
從比較宏觀的角度介紹Venus ;用設(shè)計(jì)模式來(lái)描述就是MVC+Factory Pattern。
Model-View-Controller
MVC模式是一種非常常用的設(shè)計(jì)模式,其原理不再贅述。在Venus 中也采用了此模式——模型數(shù)據(jù)-顯示-編輯器,分別用類(lèi)CAnyDocument,CAnyView,CAnyEdior來(lái)實(shí)現(xiàn)。其中:
l CAnyDocument
文檔管理
l CAnyView
模型顯示,場(chǎng)景管理
l CAnyEditor
模型編輯器接口,即創(chuàng)建模型的操作,如創(chuàng)建Sphere,Box,Line等。
Extrend
為了便于Editor的管理和功能的擴(kuò)充,增加了兩個(gè)管理類(lèi)CEditorMgr和CEditorFactory。
l CEditorFactory
采用參數(shù)化的工廠方法管理所有的Editor。通過(guò)editor的ID用相應(yīng)的Editor Creator就可以創(chuàng)建出Editor實(shí)例。
l CEditorMgr
一個(gè)CAnyView一次只能有一個(gè)活動(dòng)的Editor,各種操作的關(guān)系有的存在堆棧式的關(guān)系,因而用CEditorMgr管理當(dāng)前View中的Editor。
l CEditorCreator
提供創(chuàng)建Editor的接口。通常,每實(shí)現(xiàn)一個(gè)CAnyEditor的子類(lèi),就需要一個(gè)Creator與之對(duì)應(yīng),以便注冊(cè)到CEditorFactory工廠中。
Classes structure
各類(lèi)之間的關(guān)系如下:

MVC Pattern
注:XXX代表子類(lèi),如CSphereEditor,CBoxEditor等
Demo
完整程序
完整程序20070520Full
更新補(bǔ)丁20070522
Contract
mythma@126.com