【设计模式】第三章:建造者模式详解及应用案例

系列文章

【设计模式】七大设计原则
【设计模式】第一章:单例模式
【设计模式】第二章:工厂模式
【设计模式】第三章:建造者模式
【设计模式】第四章:原型模式
【设计模式】第五章:适配器模式
【设计模式】第六章:装饰器模式
【设计模式】第七章:代理模式
【设计模式】第八章:桥接模式
【设计模式】第九章:外观模式 / 门面模式
【设计模式】第十章:组合模式
【设计模式】第十一章:享元模式
【设计模式】第十二章:观察者模式
【设计模式】第十三章:模板方法模式
【设计模式】第十四章:策略模式
【设计模式】第十五章:责任链模式
【设计模式】第十六章:迭代器模式
【设计模式】第十七章:状态模式
【设计模式】第十八章:备忘录模式
【设计模式】第十九章:访问者模式
【设计模式】第二十章:解释器模式
【设计模式】第二十一章:命令模式
【设计模式】第二十二章:中介者模式



一、定义

摘自百度百科:建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

建造者模式是将一个复杂对象的构建与其分离开,使之可以通过同样构建过程来创建不同的内容。


二、角色分类

建造者模式共有四种角色,他们分别为:

具体产品

最终被创建的对象

抽象建造者

描述产品对象的各个组成部分的建造方法

具体建造者

根据业务的不同,负责对象各部分的建造过程

使用者

负责创建对象的各个部分,保证对象按顺序或各部分完整创建


三、实现方式

本文会根据写法不同分为以下两种方式来为大家介绍:

  • 基本写法
  • 链式写法(我更倾向于这种写法)

1. 基本写法

比如:如果你想要自己DIY一辆车,这时候车可以按你的需求来组装(抽象建造者),而零件是由你来决定组装什么牌子的(具体建造者),而这辆车由你来组装(使用者),但是无论怎么组装它都是一辆车(具体产品)

具体产品

@Data
@ToString
public class Car {
   
   

	/**
	 * 发动机
	 */
	private String engine;

	/**
	 * 轮子
	 */
	private String wheel;

	/**
	 * 气缸
	 */
	 private String cylinder;

	/**
	 * 车的颜色
	 */
	private String color;
}

抽象建造者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bummon.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值