设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【限定72小时】设计模式之建造者(Builder)模式 ...
返回列表
发帖
查看:
253
|
回复:
0
[其他技术]
【限定72小时】设计模式之建造者(Builder)模式
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 18:05:14
|
显示全部楼层
|
阅读模式
1、定义以及 UML 建模图
将一个复杂的对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示。
2、使用场景:
多个部件或者零件,都可以装配到一个对象中,但是产生的运行结果又相同。
产品类非常复杂,或者产品类中调用顺序不同产生了不同的作用。
初始化一个对象特别复杂,如使用多个构造方法,或者说有很多参数,并且都有默认值时。
3、核心类
(1) 抽象产品类 computer。
(2) Builder 抽象 Builder,规范产品的组建,一般是由子类实现具体的组建过程。
(3)MacbookBuilder 具体的Builder类,具体的创建对象的类。
(4) Directror 统一组建过程。
以组装一台计算机为主,主要进行组装主机,设置操作系统,设置显示器。
4、具体使用
4.1 计算机抽象类 Computer
4.2 具体产品类 MacBook
4.3 抽象 Builder
4.4 具体的 Builder
4.5 Director类,负责具体的构造 Computer
4.6 具体使用
5.总结
为了灵活构造复杂对象,该对象会有多个成员变量,在外部调用的时候,不需要或者不方便一次性创建出所有的成员变量,在这种情况下,使用多个构造方法去构建对象,很难维护,这时候Builder设计模式解决这个问题,进行buid()方法中创建对象,并且将builder传入,该builder中,维护了传入对象的成员变量。
作者:OneXzgj
本教程转载网络,我只是个搬运工
对象
,
Builder
,
具体
,
品类
,
抽象
相关帖子
•
C++构造函数(Constructor)
•
ThreadLocal原理浅析
•
【Max】iapp背景图修改
•
【FUT】轻松替换布局,一步到位,傻瓜式操作。(QQ)
•
一张图让你明白什么是面向对象其二
•
【Tom】Java学习基础(一)
•
【Max】结绳第十二课
•
【夜未央】Oracle day05 教程
•
【FUT】代码分享:编辑框错误提示
•
【解忧】最全的JAVA知识汇总(附讲解和思维导图)
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表