现在的位置: 首页 > 综合 > 正文

Abstract Factory

2013年07月30日 ⁄ 综合 ⁄ 共 2001字 ⁄ 字号 评论关闭

如果应用程序要适应不同平台的话,要封装那些对平台的依赖关系。如果不事先考虑好封装,程序中会出现很多#ifdef语句。

Abstract Factory模式,是用来代替new来创建那些相互之间有依赖关系的对象的。该模式把所有平台共同拥有的组件都找出来,然后一个个定义成平台无关的类,最后定义一个Factory,负责生成所有这些组件。客户在使用时,只需要使用该平台的Factory,就可以生成该平台独有的组件对象。

下面这个程序没有封装好平台相关性,所以看着很乱。

 

 

重构以后,成了下面这个样子:

 

抱歉!评论已关闭.