我從大三開始學(xué)習(xí)MFC,對于一個學(xué)軟件的學(xué)生來說算是有點晚,到現(xiàn)在差不多有3個年頭了。我在大四進入公司實習(xí)開始學(xué)習(xí)COM,接觸到ATL并用它來做開發(fā)。我在大二冬天開始戀愛,到現(xiàn)在為止第一段愛情走過3個半年頭終于到了末路。這些對于我來說都算初嘗,嘗之有味所以寫一點胡言亂語。
男女關(guān)系
如果從哲學(xué)的觀點來看,這大概要說是一種辯證關(guān)系了!
首先談?wù)勀腥恕D腥伺c男孩的區(qū)別在于責(zé)任,對于一個男人來說,他的肩膀永遠有負擔(dān),他要解決生活中遇到的所有問題,可以為妻兒帶來幸福生活,可以贍養(yǎng)父母,可以做一些成就來創(chuàng)一番事業(yè)。所以男人不要輕生,因為你垮下就意味著你的負擔(dān)沒有了支撐,也就是你不負責(zé)任。男人的這種責(zé)任體現(xiàn)了一種剛性,打不倒壓不垮,坎坎坷坷一路走來即使沒有揚名立萬但是肩膀上的負擔(dān)始終沒有落下。錚錚鐵骨、鐵血男兒、陽剛之美都是對男人的贊美,一個家庭男人是頂梁柱,這就是責(zé)任。
再談?wù)勁恕E伺c女孩的區(qū)別在于柔情,少了撒嬌和任性,多了體貼和溫柔。女人是生活的調(diào)劑品,少了她盡管可以填抱肚皮、補充營養(yǎng)但食之無味。女人天生就是善于交際的,這本身體現(xiàn)的就是一種柔性,就像太極一樣,以柔克剛,借助剛性體現(xiàn)柔美。
用建筑來形容男女關(guān)系,男人就像鋼筋水泥搭建起來的框架承受著外力,女人則是對框架填補裝修使其美觀,不同的男人有著不同的建筑風(fēng)格,不同的女人可以使建筑呈現(xiàn)不同的美。成功的男人背后都有一個女人,鋼筋水泥加上精心裝飾讓人體會到設(shè)計之美,至于誰重要次要,誰表誰里都不是關(guān)鍵,關(guān)鍵的是剛?cè)岬慕Y(jié)合。
MFC
MFC是一個男人,從Microsoft C/C++ version 7.0到Visual Stduio.net 2005一直承擔(dān)著軟件框架設(shè)計的角色,風(fēng)風(fēng)雨雨路不回頭,屹立在軟件設(shè)計大道,為開發(fā)者提供便利,著名的BCG庫和XTREME庫都是在MFC源碼基礎(chǔ)上的改進。它大而繁雜,曲折通幽,粗曠豪放。它必須承擔(dān)責(zé)任,提供軟件設(shè)計的一套解決方案,而且背負著歷史包袱,所以難免帶有一些成熟男人的深邃而不被人理解。如果你還一味的去批判它,那只能說你不懂男人的心,不理解一個男人難言之苦。
ATL
ATL是一個女人,小巧靈活討人喜愛,它作為COM思想的實現(xiàn)而拿出來解決軟件協(xié)作的問題。它可以不具體實現(xiàn)功能而只留出一些接口,接口兩端相通并且相互通信,體現(xiàn)了女人的協(xié)調(diào)能力!為一個C++對象配備一個ATL對象你可以想象有什么結(jié)果嘛?
軟件設(shè)計中的MFC與ATL
我曾經(jīng)寫過的一篇隨筆:http://www.shnenglu.com/wlwlxj/archive/2005/12/25/2070.aspx。這篇隨筆是我當(dāng)時的想法,即使現(xiàn)在我也不認為這種想法有錯誤,但是覺得有點靜止刻板的味道。
以前我一直以為ATL就是做控件、構(gòu)造插件接口體系的,而MFC就是用來做界面功能。它們屬于不同體系,在功能級別上存在差異,所以只是在縱向上結(jié)合而沒有嘗試橫向的結(jié)合。人類社會是自然的,軟件社會也應(yīng)該是自然的。自然代表一種隨和,親近,協(xié)調(diào)。
提到MFC,八九不離十就涉及到軟件界面開發(fā)。目前來說軟件復(fù)用需求越來越高,而軟件功能的不確定因素越來越大,一個特定的界面行為可能不確定。MFC是一個男人,用它可以做任何想做的界面,這就是它的剛性。但是我們到底是要去做什么還是告訴別人我們可以做什么呢?如果我們一味的做,那我們充其量只是一個莽夫,是呂布有勇無謀。我告訴你我有一個MFC對象,還告訴你它可以做什么,這樣不就夠了。
當(dāng)我拿到ArcGis體驗的時候,我可以感覺到它的堅固與厚度,而研究它的插件體系的時候又能感覺到柔性。好的軟件就是這樣剛?cè)岵⑦M,不是任何事情都做,但明白告訴別人自己可以做什么。
MFC是男人天生缺乏溝通能力,所以無法告知外界它自身的行為,只有它自己知道。這時候就需要一個管子插到對象內(nèi)部去了解它,而ATL剛好提供了一個接口,將其一段插入MFC對象內(nèi)部而露出另一端以便告知外界MFC對象內(nèi)部的行為。這樣的界面是可解釋的界面,它具有做事情的能力,但是它不去做,而成為可復(fù)用界面。
(2006.7.3 于北京華亭)
posted on 2006-07-03 08:21
萬連文 閱讀(1542)
評論(4) 編輯 收藏 引用 所屬分類:
ATL 、
MFC