设计模式纵谈4-Builder
来源:互联网 发布:商家怎么去跑淘宝客 编辑:程序博客网 时间:2024/06/03 15:24
3.Builder生成器(创建型模式)
Builder模式的缘起
.假设创建游戏中的一个房屋House设施,该House有几个部分组成,且
各部分富于变化。
.如果使用最直观的设计方法,每一个房屋部分的变化,都
将导致房屋构建的重新修正。。。。
动机 motivation
在软件系统中,有时候面临着 一个复杂对象 的创建工作,其通常由各个部分的子对象
用一定的算法构成,由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化
但是将它们组合在一起的算法却相对稳定。
如何应对这种变化?如何提供一种 封装机制 来隔离出
复杂对象的各个部分的变化,从而保持系统中的稳定构建算法不随着需求改变而改变?
(修改某一个部分而改变某一部分的思考)
‘
Intent
将一个复杂对象的构造与其表示相分离,使得同样的构建过程可以
创建不同的表示。
不同的表示就是变化
Structure
Director (客户程序)
Builder
ConcreteBuilder
Product
UML类图
协作图 Collaborations
系统设计师,并不是设计到每个具体类的实现,而是类
之间的相互交互和接口.
Builder模式的几个要点
.Builder模式主要用于 分步骤构建一个复杂的对象。而这其中 分步骤是一个稳定的算法,而
复杂对象的各个部分则经常变化。
.变化点在哪里,封装哪里---Builder模式主要在于应对 复杂对象各个部分 的频繁需求变动。其缺点在于难以
应对 分步骤构建算法的 需求变动。
.Abstract Factory模式解决 系列对象 的需求变化,Builder模式解决 对象
部分 的需求变化。Builder模式通常和Composisite模式组合使用。
如果软件需求永远是不变化的或者需求全部都是变化的,也就没有必要
使用设计模式。
所有的设计模式 都不是捕获变化,封装变化,隔离变化.
- 设计模式纵谈4-Builder
- 设计模式纵谈1
- 设计模式纵谈
- 设计模式纵谈5-Factory
- 设计模式纵谈--Interpreter,Iterator
- 设计模式纵谈--单件模式
- 设计模式纵谈3-abstract factory
- 设计模式纵谈-6.Prototype模型
- 设计模式纵谈--bridge and composite
- 设计模式(4) - Builder模式
- 设计模式纵谈--7.Adapter适配器(结构型模式)
- 设计模式纵谈-Decarator,Facade,FlyWeight,Template Method,Command
- java设计模式4:builder
- 设计模式(4)-建造者模式(Builder)
- 23种设计模式(4)--builder模式
- 设计模式:Builder模式
- 设计模式 -- BUILDER模式
- 【设计模式】Builder模式
- C语言深度解剖(精讲版)——读书笔记19 &&自己的一些理解
- winrar激活
- Session原理
- shell CD唱片应用程序
- 完美解决IE6不支持hover的方法
- 设计模式纵谈4-Builder
- 新博文将发布在opoo.org
- '\0'的悲剧
- 设计模式纵谈5-Factory
- 今天是数电发明人——香农的生日,纪念一下
- Exercises 4-11
- jhat中的OQL(对象查询语言)
- Android Animations动画使用详解
- 用U盘安装Linux图解