建造者模式
概括:将构造复杂对象的过程和组成对象的部件解耦
组成部分:
抽象建造者角色:规范产品对象的各个组成成分的建造
具体建造者角色:与应用程序紧密相关的类,它在指导者的调用下创建产品实例。实现抽象建 造者角色提供的方法的前提下,达到完成产品组装,提供成品的功能
指导者角色:调用具体建造者角色以创建产品对象
产品角色:建造中的复杂对象。包含那些定义组件的类,包括将这些组件装配成产品的接口。
模式原理图
模式讲解:
- 指挥者(Director)直接和客户(Client)进行需求沟通;
- 沟通后指挥者将客户创建产品的需求划分为各个部件的建造请求(Builder);
- 将各个部件的建造请求委派到具体的建造者(ConcreteBuilder);
- 各个具体建造者负责进行产品部件的构建;
- 最终构建成具体产品(Product)
实例:
背景:小成者模式去电脑城买一台组装的台式主机
过程:
- 电脑城老板(Diretor)和小成(Client)进行需求沟通
- 了解需求后,电脑城老板将小成需要的主机划分为各个部件(Builder)的建造请求(CPU、主板,内存条等)
- 指挥装机人员(ConcreteBuilder)去构建组件;
- 将组件组装起来成小成需要的电脑(Product)