创建型设计模式-建造者 Builder

date
Apr 10, 2021
slug
design-pattern-builder
status
Published
tags
设计模式
summary
type
Page

简介

建造者模式可将对象的初始化转变成一步步配置的过程。如当对象的初始化时有很多可选参数,建造者模式可以定制参数实现对象的创建。好处有:
  1. 定制对象参数
  1. 针对不同参数,做不同的校验,如当设置了三角形的两个边长,设置第三个边时必须满足两边之和大于第三边的条件。
 

角色

  • Builder 类
    • 定义建造一个Product分几个步骤
  • 具体 Builder 类
    • 实现不同的步骤
  • Director
    • 属于快速建造某一种产品的方法,如 Director 提供了创建自动挡和手动挡汽车两种方法,创建自动挡汽车中其实是调用 setA setB,而创建自动单汽车中调用setC setD。也可以不使用 Director,直接使用 Builder 的 setA setB 去设置属性
  • 要被实例化的类
    • 初始化时可定制的参数较多,如 setA setB setC...
 

类图

图中的 Director 在 make 方法中封装了设置产品属性的步骤,通过传入不同的 builder 类,实现不同的实现步骤,创建不同的产品。
notion image

代码

 
output:

© 菜皮 2020 - 2024