首页 > 代码库 > 【我的设计模式】建造者模式

【我的设计模式】建造者模式

建造者(Builder)模式的定义是:将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 首先它意图是要构建一个复杂的对像,而这个复杂的对像往往需要由好几个子对像或分步聚来完成最终的这个对象的构建,而这个复杂对象的子对像经常需要不断的变化,但它的构建过程是相对是稳定的。

应用场景

一部汽车由发动机,轮胎、底盘,车身组成。无论最终构建的汽车是大众牌的汽车还是奥迪汽车,它的构建过程是不会变的,都是由发动机,轮胎、底盘,车身组成。至于大众牌的汽车还是奥迪汽车它们各自采用的是什么样的发动机,轮胎、地盘这些肯定是不一样的,也就是经常变化的。

概念解释

将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示。

模式角色

1.builder:为创建一个产品对象的各个部件指定抽象接口。
2.ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口。
3.Director:构造一个使用Builder接口的对象。
4.Product:表示被构造的复杂对象。
和工厂模式的区别
1.可以返回不同的产品,产品复杂
2.多了一层建造者