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