设计模式笔记(1 ABSTRACT FACTORY & BUILDER)
来源:互联网 发布:桌面软件下载 编辑:程序博客网 时间:2024/06/02 05:31
设计模式的书已经被翻的很旧了,最近,似乎开始明白书中讲述的内容了.还是把心得体会记录下来,算是一个脚印.
1. ABSTRACT FACTORY(抽象工厂)
适用性:
一个系统要独立于其产品的创建时.
一个系统要由多个产品系列中的一个来配置时.
强调一个产品系列从而联合使用时.
为一个产品库提供接口,屏蔽实现时.
理解:
抽象工厂通常作用于多个类似的类系列上,每个系列中,有着基本一致的类元素,或者说,可以为这些系列抽象出一个新的系列--公共的接口类系列.
工厂本身,需要能够创建单个系列中所有类的实例.因此当系列中的元素增加时,需要修改所有具体类厂,这一点相当麻烦.也就是说,抽象类厂不太适合经常新的产品种类.而适合用在稳定成熟的类系列上.
2.BUILDER(生成器)
基于一个复杂的创建过程,产生一个结果对象.
理解:
这个"复杂的创建过程",不意味着简单的调用结果对象的set方法的序列.例如,可能是在一个复杂的模版算法中,在相关位置调用结果对象的相关算法.甚至,不直接调用结果对象的方法,而是调用一系列的COMMAND, COMMAND对象代理结果对象的相关方法.因此,书中P65图中的BuildPartA(), BuildPartB(), BuildPartC()并不是典型的BUILDER的用法.
1. ABSTRACT FACTORY(抽象工厂)
适用性:
一个系统要独立于其产品的创建时.
一个系统要由多个产品系列中的一个来配置时.
强调一个产品系列从而联合使用时.
为一个产品库提供接口,屏蔽实现时.
理解:
抽象工厂通常作用于多个类似的类系列上,每个系列中,有着基本一致的类元素,或者说,可以为这些系列抽象出一个新的系列--公共的接口类系列.
工厂本身,需要能够创建单个系列中所有类的实例.因此当系列中的元素增加时,需要修改所有具体类厂,这一点相当麻烦.也就是说,抽象类厂不太适合经常新的产品种类.而适合用在稳定成熟的类系列上.
2.BUILDER(生成器)
基于一个复杂的创建过程,产生一个结果对象.
理解:
这个"复杂的创建过程",不意味着简单的调用结果对象的set方法的序列.例如,可能是在一个复杂的模版算法中,在相关位置调用结果对象的相关算法.甚至,不直接调用结果对象的方法,而是调用一系列的COMMAND, COMMAND对象代理结果对象的相关方法.因此,书中P65图中的BuildPartA(), BuildPartB(), BuildPartC()并不是典型的BUILDER的用法.
- 设计模式笔记(1 ABSTRACT FACTORY & BUILDER)
- 设计模式笔记(1 ABSTRACT FACTORY & BUILDER)
- 设计模式笔记(1 ABSTRACT FACTORY & BUILDER)
- [设计模式]Abstract Factory和Builder
- 设计模式factory method; abstract fatory; builder ; prototype
- 设计模式学习笔记-Abstract Factory
- 笔记:Gof设计模式--Abstract Factory
- 设计模式(Abstract Factory)
- 设计模式-Abstract Factory
- 设计模式--Abstract Factory
- 设计模式实战之——创建型模式(Builder、Factory method、Abstract factory)
- Builder&Factory设计模式
- 设计模式-Abstract Factory模式
- 设计模式 - Abstract Factory模式
- 设计模式--Abstract Factory模式
- Factory, Abstract Factory, Factory Method, 和Builder模式的思考
- 关于Factory, Abstract Factory, Factory Method, 和Builder模式
- 设计模式(2)-抽象工厂模式(Abstract Factory)与生成器模式(Builder)模式
- 设计模式笔记(3 PROTOTYPE & SINGLETON)
- cvs-cvsweb-cvstrac文档
- 设计模式笔记(2 FACTORY METHOD)
- 设计模式笔记(2 FACTORY METHOD)
- 设计模式笔记(2 FACTORY METHOD)
- 设计模式笔记(1 ABSTRACT FACTORY & BUILDER)
- 数学:确定性的丧失---第七章 不合逻辑的发展:19世纪的困境
- CSS layout
- ASP常用函数表(vbs)
- 数学:确定性的丧失---第八章 不合逻辑的发展:天堂之门
- C++字符串完全指引之一 —— Win32 字符编码
- 我的收藏网址
- 父框架的宽度和高度自动适应其所包含页面的宽度和高度
- 致应届毕业生--少走弯路的十条忠告 转贴