最近看了《Inside ATL》这本书,感觉作者从软件工程的角度分析ATL和MFC很有独到的见解,某些观点和我的想法差不多,觉得该把自己的想法说下,权当抛砖引玉,欢迎批评指正。
首先,MFC作为一个成熟的类框架,依靠严格的类继承关系,实现了代码复用和美观界面,但也正是由于这种继承关系导致了MFC的庞大臃肿。
ATL则依靠Template实现了一批彼此无依赖关系的组件,类似于搭积木,而MFC就像现代建筑中的钢筋混凝土结构。
从技术实现上,MFC和ATL的对比就是类和模板的比照,一个纵向发展,一个横向发展。
扩展到设计模式的角度来看,其实就是高内聚和低耦合思想的体现,MFC重高内聚,ATL重低耦合,记得有本讲设计模式的书上有个例子,把鸭子和鸭子的行为分开设计,这其实也是降低耦合度的一种方法。
高内聚,低耦合六个字,真正理解它还真不容易!
posted on 2009-07-24 16:43
鹰击长空 阅读(424)
评论(0) 编辑 收藏 引用