设计模式初探-Builder模式
来源:互联网 发布:32u网络机柜尺寸 编辑:程序博客网 时间:2024/05/22 12:40
Builder模式,又称生成器或构建者模式,属于对象创建型模式,侧重于一步一步的构建复杂对象,只有在构建完成后才会返回生成的对象。Builder模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
一、使用场景
1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,比如买一台电脑,我不需要知道电脑CPU,主板,机箱是如何生产的,也不需要知道它们是如何组装的。
2、当构造过程必须允许被构造的对象有不同的表示时,比如一台电脑即可以使用AMD的CPU,也可以使用Inter的CPU,这些都是可以根据需求变化的。
二、UML图
三、Java实现
示例1:
运行结果:
在复杂对象有多个可变参数,且后续有可能继续增加的情况下,最好使用Builder模式来构建对象,如下:
示例2:
运行结果:
四、模式优缺点
优点:
1、可以改变一个产品的内部表示,比如示例中只要实现一个新的ComputerBuilder就能改变电脑的内部组件,因为电脑的表示和内部结构是独立于客户端代码的。
2、将构造代码和表示代码分离,构造代码相当于builder,表示代码相当于director。不同的导向器可以使用相同的生成器来构造不同的产品。
3、Builder模式允许我们对构造过程进行更精细的控制,比如示例2中可以在构建过程加入有效性验证等。
阅读全文
0 0
- 设计模式初探-Builder模式
- 设计模式初探-Builder模式
- 设计模式:Builder模式
- 设计模式 -- BUILDER模式
- 【设计模式】Builder模式
- 设计模式-Builder模式
- 设计模式Builder模式
- 设计模式-Builder模式
- 设计模式 - Builder模式
- 设计模式 - Builder模式
- 设计模式---Builder模式
- 设计模式--Builder模式
- 设计模式---Builder模式
- 设计模式--Builder模式
- 设计模式---Builder模式
- 设计模式---Builder模式
- 设计模式-builder模式
- 【设计模式】Builder模式
- 数塔(简单DP)
- springboot(十一):Spring boot中mongodb的使用
- hdu 5889 spfa&最小割
- IT面试中如何说自己的优缺点
- Apache Kylin CDH版本安装部署
- 设计模式初探-Builder模式
- 信用提升看这里
- ::在C++中是什么意思
- Python BeautifuSoup 库 mooc 中国大学学习
- MTK平台分区回读
- java加密
- Python3基础语法总结
- 剑指offer--二叉搜索树的后序遍历序列
- mstar android-supernva key处理流程