介绍
建造者模式是一种创建型设计模式,它允许客户端逐步构造复杂对象,而不需要知道构造过程的细节。它将对象的构造过程分离出来,使得相同的构造过程可以创建不同的表示形式。
角色
角色 | 说明 |
---|---|
Builder | 抽象构造者类,负责创建一个 Product 对象的各个部件指定抽象接口 |
ConcreteBuilder | 具体构造者类,实现 Builder 的接口以构造和装配该产品的各个部件 |
Director | 指挥者类,构造一个使用 Builder 接口的对象 |
Product | 产品类,表示被构造的复杂对象。ConcreateBuilder 创建该产品的内部表示并定义它的装配过程 |
角色示例
类名 | 担任角色 | 说明 |
---|---|---|
CoffeeMachine | 抽象构造者 | 抽象咖啡机类,阐述制作一杯 Coffee 所需的配料 |
Nespresso | 具体构造者 | 胶囊咖啡机类,提供 CoffeeMachine 的所需的配料并加以制作 |
Customer | 指挥者 | 顾客类,使用 CoffeeMachine 来制作一杯 Coffee |
Coffee | 产品 | 咖啡类,使用 Nespresso 来制作一杯 Coffee |
UML类图
代码
1 | <?php |
创建 Nespresso.php,内容如上。
执行
1 | $ php Nespresso.php |