生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
- builder:为创建一个产品对象的各个部件指定抽象接口
- ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个产品的引用
- Director:构造一个使用Builder接口的对象(可选)
- Product:表示被构造的复杂对象
优点:
- 将一个复杂对象的创建过程封装起来
- 允许对象通过多个步骤来创建,并且可以改变过程(这和只有一个步骤的工厂模式不同)
- 向客户隐藏产品内部的表现
- 产品的实现可以被替换,因为客户只看到一个抽象的接口
- 分离整体构建算法和部件构件
缺点:
- 与工厂模式相比,采用生成器模式创建对象的客户,需要具备更多的领域知识。
时间: 2024-10-12 13:42:04