突然發(fā)現(xiàn)Visual Studio 2008的Class Diagram已經(jīng)支持到native c++了,遂喜,隨便點(diǎn)了一下namespace vl就View Class Diagram了。剛一點(diǎn)就后悔了,等了幾分鐘才出一張圖。然后我嘗試Export class diagram to image.
剛開始點(diǎn)*.emf,這是一種擴(kuò)展的元文件,文件里面實(shí)際上是一堆GDI命令。好了,這個(gè)文件一共有3M多,用畫圖打開遲遲不出來,以為操作失敗,后來打開任務(wù)管理器一看,畫圖剛剛將使用的內(nèi)存增長到400M,過了10分鐘才最終顯示。不過沒關(guān)系,我的電腦3G內(nèi)存,才用了1.7G死不了的……后來點(diǎn)*.jpg,就剩下2.7M了。
因?yàn)橛X得挺有意思的,那么我就提供下載吧(點(diǎn)擊
這里)。
我的Vczh Library++已經(jīng)斷斷續(xù)續(xù)寫了兩年多了,因?yàn)槲沂窃谝粋€(gè)GUI Test Project里面打開的,所以一些其他功能譬如Vczh Free Script、正則表達(dá)式、上下文無關(guān)文法處理、新的XML Parser等跟GUI無關(guān)的部件不在里面。全都包含進(jìn)去的話估計(jì)會更大,我也不想試,搞垮電腦就不好了……不過從這張圖可以看出Vczh Library++是一種扁平結(jié)構(gòu)的。圖里面有很多類是通過宏生成的,譬如GUI的每一個(gè)event object都用了一個(gè)宏產(chǎn)生了4個(gè)類,用于輕松綁定到多個(gè)普通函數(shù)、靜態(tài)函數(shù)和類成員函數(shù)上。里面還有很多離散對象譬如enum啊、VL_WinListViewItem等等,非常多。最后可以清楚地看到目前GUI的進(jìn)度,也是一個(gè)扁平結(jié)構(gòu),繼承最長的也不外是Button。因?yàn)閃in32API的WC_BUTTON類功能強(qiáng)大啊,單選復(fù)選普通按鈕、GroupBox、SplitButton還有一種新的有箭頭的居然都是從里面產(chǎn)生出來的,于是繼承路徑就變成VL_Base -> VL_WinControl -> VL_WinCustomButton -> VL_WinButton了。
下載的文件是一個(gè)rar包,包含一個(gè)jpg文件和一個(gè)從Class Diagram文件改過來的XML,包含了圖片所有的類的全名(包括namespace),頗為壯觀……
posted on 2008-08-15 09:58
陳梓瀚(vczh) 閱讀(2217)
評論(8) 編輯 收藏 引用 所屬分類:
其他