生成器模式——HeadFirst设计模式学习笔记

生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

  • builder:为创建一个产品对象的各个部件指定抽象接口
  • ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个产品的引用
  • Director:构造一个使用Builder接口的对象(可选)
  • Product:表示被构造的复杂对象

优点:

  • 将一个复杂对象的创建过程封装起来
  • 允许对象通过多个步骤来创建,并且可以改变过程(这和只有一个步骤的工厂模式不同)
  • 向客户隐藏产品内部的表现
  • 产品的实现可以被替换,因为客户只看到一个抽象的接口
  • 分离整体构建算法和部件构件

缺点:

  • 与工厂模式相比,采用生成器模式创建对象的客户,需要具备更多的领域知识。
原文地址:https://www.cnblogs.com/HectorHou/p/6024996.html