cuiyi's blog(崔毅 crazycy)

记录点滴 鉴往事之得失 以资于发展
数据加载中……

我对设计模式的理解:工厂方法模式(Factory Mehod) 与 抽象工厂模式(Abstract Factory)

非常感谢你的阅读,如果你觉得好或者对你有帮助,请积极给一个留言反馈以示鼓励。

两者都系工厂模式。

本质都是将创建具体对象的职责和过程从代码中提取出来,从而实现调用者和被调用者解耦的(设计模式)目标。

但之所以会存在两个分支,我们可以从其各自的实质来看:
工厂方法模式(Factory Mehod Pattern) 只产生一类对象;
抽象工厂模式(Abstract Factory Pattern)产生一系列对象;这些对象具有如下特征:相关或者相互依赖

工厂方法模式可以通过带参数的变种(即结合j2ee Service Location Pattern方式),从而产生多种产品(即一类对象的多个不同的实例)。

抽象工厂模式更注重是相关或者相互依赖的一系列对象,一旦需要改动,只修改某一个具体工厂即可到达修改整个产品系列的目的
从这一点,如果是涉及一个系列的产品一起工作,我们就应该放弃采用(工厂方法模式的)多个工厂方法来达到与(抽象工厂)相同目的的做法。
因为:如果一个系列的产品一起工作时,一个应用一次只能使用同一个产品系列中一个对象,只需要一个具体工厂类(抽象工厂模式),或者 多个具体工场类(工厂方法模式)。如果这一点可以接受,那修改呢?!

Thanks very much to visit blog,  welcome your feedback,  your feedback is the Driver && Power to me

posted on 2006-10-08 16:39 crazycy 阅读(1939) 评论(3)  编辑  收藏 所属分类: Design Pattern、JEE Pattern

评论

# re: 我对设计模式的理解:工厂方法模式(Factory Mehod) 与 抽象工厂模式(Abstract Factory)  回复  更多评论   

if(you=="优秀的程序员") { mylinux(“welcome ”); }
2006-10-11 10:18 | 123bingbing

# re: 我对设计模式的理解:工厂方法模式(Factory Mehod) 与 抽象工厂模式(Abstract Factory)  回复  更多评论   

@123bingbing
你不是好人,说的话都不懂的说
2006-10-11 15:50 | crazycy

# re: 我对设计模式的理解:工厂方法模式(Factory Mehod) 与 抽象工厂模式(Abstract Factory)[未登录]  回复  更多评论   

你思考过!!
说出了表面的东西!!
2008-01-31 11:55 | allan

只有注册用户登录后才能发表评论。


网站导航: