Design-Patterns-Builder

Builder/Director

应用场景解释

  • 当你需要构建一个比较复杂的对象
  • 这个对象的各种参数,在不同情况下都不相同, 并且都是可选参数
  • 当有一套步骤是相同,但是具体实现不同的时候, 可以引入 director

应用步骤重点

  • 定义 builder interface, 具体包含能配置的东西
  • 创建 builder 实现类, 并且需要实现一个额外的 获取结果的方法, 因为不同 builder 实现类可以输出不同类型的结果, 所以不能定义在 interface 上
  • 创建 director 类, 封装不同的 创建步骤套装
  • 调用方 实例化 builder 和 director. 把 builder 实例传给 director. director 选择构造那种产物. 从 build 实例获取最终结果对象
  • 如果大家创建产物的类型一致, 则可以直接在 director 里返回结果