设计模式学习笔记:抽象工厂和工厂方法的区别

 

Defines an interface for creating an object,but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses

 

 

 

Provide an interface for creating families of related or dependent objects without specifying their concrete classes

 

两个模式非常类似,那它们之间什么区别呢?

 先总结下工厂方法模式:一个具体的工厂只产生一个产品的一个型号

打比方:食堂专门卖大混饨的窗口。(要买小馄饨?请不起请到隔壁小馄饨窗口)

 

 

那么抽象工厂方法呢:一个具体的工厂产生不同产品的不同型号。(为一个复杂业务提供所需的各种实例)

打比方:食堂A套餐窗口。可以叫红烧大排、米饭、青菜、罗宋汤。(要吃B套餐?对不起请到隔壁窗口...)

 

个人觉得不用太对结构的相似度去纠结,学习设计模式主要是理清经常出现的那些场景。

posted @ 2011-06-13 13:40  倚楼无语F5  阅读(171)  评论(0编辑  收藏  举报