依旧的博客

技术学习

C++博客 首页 新随笔 联系 聚合 管理
  17 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks

Factory Method-创建多种同类产品的工厂:

为一类产品 ( 一个抽象产品及其所有具体产品 ) 提供一个工厂,该类的每一种具体产品由工厂中的一个方法创建。种种做法的缺点是不易增加新的具体产品,每增加一个具体产品,工厂中就要增加一个方法,这意味着工厂的所有使用者都要重新编译。可以用参数化的方法来改进,工厂只提供一个接受参数的创建函数,参数的取值标志了某种具体产品,在创建函数中对参数进行判断,根据不同的参数值创建不同的具体产品并返回。这就减小了增加具体产品的代价,每增加一种具体产品时只要修改工厂的创建函数的实现即可。

原来是用工厂的不同方法创建不同的具体对象,现在是用同一个方法的不同参数创建不同的具体对象。还可以用抽象工厂的不同派生类来创建不同的具体对象,这种做法比较笨重.

Abstract Factory-可替换的工厂:

见参考资料1


参考资料:

1.《设计模式-可复用面向对象软件的基础》/Erich Gamma等著,李英军等译 机械工业出版社
2.《敏捷软件开发-原则,模式与实践》/Robert C.Martin著 邓辉译  清华大学出版社

posted on 2006-08-08 13:01 依旧的博客 阅读(277) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理