最近看了《Inside ATL》這本書,感覺作者從軟件工程的角度分析ATL和MFC很有獨到的見解,某些觀點和我的想法差不多,覺得該把自己的想法說下,權當拋磚引玉,歡迎批評指正。
首先,MFC作為一個成熟的類框架,依靠嚴格的類繼承關系,實現了代碼復用和美觀界面,但也正是由于這種繼承關系導致了MFC的龐大臃腫。
ATL則依靠Template實現了一批彼此無依賴關系的組件,類似于搭積木,而MFC就像現代建筑中的鋼筋混凝土結構。
從技術實現上,MFC和ATL的對比就是類和模板的比照,一個縱向發展,一個橫向發展。
擴展到設計模式的角度來看,其實就是高內聚和低耦合思想的體現,MFC重高內聚,ATL重低耦合,記得有本講設計模式的書上有個例子,把鴨子和鴨子的行為分開設計,這其實也是降低耦合度的一種方法。
高內聚,低耦合六個字,真正理解它還真不容易!
posted on 2009-07-24 16:43
鷹擊長空 閱讀(432)
評論(0) 編輯 收藏 引用