读书人

Factory Method形式学习笔记

发布时间: 2012-09-22 21:54:54 作者: rapoo

Factory Method模式学习笔记

??适用情况:当一个抽象工厂要生产某种产品时,他只知道要生产的产品的接口,而不知道其实现是怎样的。产品可能有很多种实现。

?

??? 解决方案:只定义抽象工厂生产该种产品的接口,而将实现留给实体工厂。不同的实体工厂知道怎样生产对应的产品。

?

??? 类图:

?



?
Factory Method形式学习笔记
?

? GOF中的例子:



Factory Method形式学习笔记
?
?? 实际应用:实际应用太多了,个人觉得这个模式太普通,其实就是接口与实现相分离的OO思想以及多态的体现,没什么特别之处,系统(使用者)还是要自己构建具体工厂类来生产,只不过操作的引用是抽象工厂类而已。比如说Collection类的iterator()方法,就是工厂方法,它只是一个接口,其实现要由具体的HashSet, LinkedList的iterator()方法来实现。再比如SortedSet的comparator()方法也是由TreeSet的comparator()方法来实现。

?

?? 与其它设计模式的比较:TBD

读书人网 >软件架构设计

热点推荐