设计模式笔记(1 ABSTRACT FACTORY & BUILDER)

来源:互联网 发布:氚云网络 编辑:程序博客网 时间:2024/05/20 23:07
设计模式的书已经被翻的很旧了,最近,似乎开始明白书中讲述的内容了.还是把心得体会记录下来,算是一个脚印.

1.   ABSTRACT FACTORY(抽象工厂)
适用性:
一个系统要独立于其产品的创建时.
一个系统要由多个产品系列中的一个来配置时.
强调一个产品系列从而联合使用时.
为一个产品库提供接口,屏蔽实现时.

理解:
抽象工厂通常作用于多个类似的类系列上,每个系列中,有着基本一致的类元素,或者说,可以为这些系列抽象出一个新的系列--公共的接口类系列.
工厂本身,需要能够创建单个系列中所有类的实例.因此当系列中的元素增加时,需要修改所有具体类厂,这一点相当麻烦.也就是说,抽象类厂不太适合经常新的产品种类.而适合用在稳定成熟的类系列上.

2.BUILDER(生成器)
基于一个复杂的创建过程,产生一个结果对象.

理解:
这个"复杂的创建过程",不意味着简单的调用结果对象的set方法的序列.例如,可能是在一个复杂的模版算法中,在相关位置调用结果对象的相关算法.甚至,不直接调用结果对象的方法,而是调用一系列的COMMAND, COMMAND对象代理结果对象的相关方法.因此,书中P65图中的BuildPartA(), BuildPartB(), BuildPartC()并不是典型的BUILDER的用法.

原创粉丝点击