builder设计模式

什么是Builder

Builder 模式允许我们编写可读、可理解的代码来设置复杂的对象。

Builder(建造者)设计模式是一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程与其表示相分离,使得同样的构建过程可以创建不同的表示。这种模式通常用于创建一些复杂的对象,这些对象的构建步骤相对稳定,但具体的表示可能有所不同。这个 Builder,其实和模板模式非常的像,但是也有区别,那就是在模板模式中父类对子类中的实现进行操作,在父类之中进行一件事情的处理,但是在 Builder 模式之中,父类和子类都不用关心怎么处理,而是用另一个类来完成对这些方法的有机组合,这个类的职责就是监工,规定了到底要怎么样有机的组合这些方法。在监工类(Director)中,将父类组合进去,然后调用父类的操作来抽象的实现一件事情,这就是面向接口(抽象)变成的妙处了,当然这个 Builder 可以使接口也可以是抽象类,在这里我们使用抽象类。

主要组成部分

以下是 Builder 设计模式的主要组成部分:

  • Director(指挥者): 负责使用 Builder 接口来构建对象的一个类。Director 通常并不负责构建对象的具体部件,而是将构建过程委托给 Builder 接口。

  • Builder(建造者): 定义了构建一个产品所需要的所有步骤接口。具体的构建者类实现这个接口,负责实际构建产品的各个部分。

  • ConcreteBuilder(具体建造者): 实现 Builder 接口,负责构建具体的产品。它包含一个与产品相对应的内部表示,并提供一个用于获取最终产品的方法。

  • Product(产品): 被构建的复杂对象,它包含了需要构建的所有部分。具体的构建者负责将产品的各个部分组装成最终的产品。

使用 Builder 模式的优势在于可以更加灵活地构建复杂对象,而不必担心构建顺序或者构建的具体细节。这种模式适用于那些构建过程稳定,但表示可以有所变化的场景。例如,如果有一个包含多个部分的文档对象,可以使用 Builder 模式来构建不同格式的文档(例如 HTML、PDF)而不改变构建过程。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值