建造者设计模式
建造者设计模式定义
建造者模式将多个简单的对象构建成一个复杂的对象。它将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式是一步一步的创建一个复杂的对象,它允许用户只通过指定复杂的对象的类型和内容就可以构建它们,用户不需要指定内部的具体构造细节。
建造者设计模式详解
使用场景
- 建造者模式一般用在构建流程或者组成部件固定的场合,将这些部件分开构建成为组件对象,再将这些组件对象整合成为目标对象。
- 比如创建一个旅游产品,旅游产品里面有机票,酒店,门票,保险等等,行程定制师可以根据你的要求,组装成一个你满意的产品。
- 生活中的应用场景,比如汽车中的方向盘,发动机,车架,轮胎等等部件也是多种多样的。
- 初始化一个对象时,参数过多,或者很多参数具有默认值。
图解
建造者模式优缺点
优点
- 建造者独立,易于扩展,用户使用不同的具体构建造者即可得到不同的产品对象。
- 客户端不需要知道产品内部的组成细节,便于控制细节风险,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。
缺点
- 产品必须有共同点,范围有限制。如果内部变化复杂,会有很多的建造类。
- 如果产品的内部变化复杂,该模式会增加很多的建造者类。
建造者模式总结
设计模式中创建者模式在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。