建造者模式
简介
建造者模式(Builder Pattern),也可以称为“生成器模式”,其目标 是将复杂对象的构造与其实现分离,以便相同的构造过程可以创建不同的实现。建造者模式主要用于逐步构建一个复杂的对象,并且返回该对象。
UML
nil
角色组成
- 建造者(Builder):定义了正确创建产品必须采取的所有步骤的接口。每个步骤通常是抽象的,因为建造者的实际功能实在具体的实现类中实现的。
- 具体建造者(ConcrecateBuilder):实现建造者接口的累哦。具体建造者可以生产任意数量的产品类,这些类具有创建特定复杂产品的功能。
- 产品(Product):最终生成的对象。由不同具体建造者创建的产品是独立的,产品之间不受影响。
- 主管(Director):用于控制生成最终产品对象算法的类。主管对象会被实例化,并且它生成产品对象的方法
Construct()
被调用,该方法中包含一个参数,用于捕获生成产品的特定具体建造者。 - 客户端(Client):将某个建造者对象与主管类相关联。
适用场景
- 当开发者希望创建不同形式的产品时
- 不同形式的产品的制造过程相似且产品之间的差别不大
- 构造函数的参数很多
- 当需要构建同一个对象的不同表示时