设计模式-创建型设计模式-06.建造者(php)

建造者模式是一种创建型设计模式,用于创建复杂对象的构建过程,将创建算法与对象部件分离,使得创建过程可独立变化。该模式包括抽象建造者、具体建造者、指导者和产品四个角色。适用于需要创建具有复杂结构的对象,且创建过程可能变化的场景。其优点在于允许独立扩展建造者的实现,控制组件装配顺序,同时客户端无需了解内部细节。然而,其限制在于产品必须有共同特点,适用于特定范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式类型

创建型设计模式

设计模式名称

建造者模式

模式定义

建造者模式也叫创建者模式(Builder Pattern),也是类的创建型模式之一。其核心思想是将一个“复杂且不稳定的类的构建算法”与他的“相对稳定的部件”分离,使得构建算法和组装方式可以独立应对变化,使得相同的构建可以创建不同的表示。
创建者模式隐藏了复杂对象的创建过程,它把复杂对象的穿件过程加以抽象,通过子类继承或者重载的方式,动态的创建具有符合属性的对象。

UML

1、抽象的建造者角色
对复杂对象的创建过程加以抽象,给出一个抽象的接口,以规范产品对象的各个组成部分的建造。这个接口规定了复杂对象的哪个部分的创建,但并不涉及具体对象的创建。
2、具体的建造者角色
实现Builder接口,针对不同的业务逻辑或者需求,具体实现复杂对象的各个部分的创建,创建完成后提供产品的实例。
3、指导者(导演)角色
调用具体的建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象个部分完整创建或者按照某种顺序创建
4、产品
要创建的复杂对象,一般来说包含多个部分
在这里插入图片描述

应用场景

1、需要创建的对象具有复杂的内部结构,并且由多个部件组成
2、创建的过程可能会根据需求的变化而不稳定,而基础部件不会变

优缺点

优点

1、不同的建造者类之间是互相独立的,这有利于系统的扩展与细化
2、不同部件的装配顺序是可控的,并且与产品与部件本身独立,顺序的调整不会引起其他部分的变更
3、创建者模式可以使客户端不必知道产品内部的组成细节

缺点

1、产品的衍生品必须有共同的特点,对使用范围有限制。

git地址:

https://github.com/wonlon/Design-patterns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值