设计模式类型
创建型设计模式
设计模式名称
建造者模式
模式定义
建造者模式也叫创建者模式(Builder Pattern),也是类的创建型模式之一。其核心思想是将一个“复杂且不稳定的类的构建算法”与他的“相对稳定的部件”分离,使得构建算法和组装方式可以独立应对变化,使得相同的构建可以创建不同的表示。
创建者模式隐藏了复杂对象的创建过程,它把复杂对象的穿件过程加以抽象,通过子类继承或者重载的方式,动态的创建具有符合属性的对象。
UML
1、抽象的建造者角色
对复杂对象的创建过程加以抽象,给出一个抽象的接口,以规范产品对象的各个组成部分的建造。这个接口规定了复杂对象的哪个部分的创建,但并不涉及具体对象的创建。
2、具体的建造者角色
实现Builder接口,针对不同的业务逻辑或者需求,具体实现复杂对象的各个部分的创建,创建完成后提供产品的实例。
3、指导者(导演)角色
调用具体的建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象个部分完整创建或者按照某种顺序创建
4、产品
要创建的复杂对象,一般来说包含多个部分
应用场景
1、需要创建的对象具有复杂的内部结构,并且由多个部件组成
2、创建的过程可能会根据需求的变化而不稳定,而基础部件不会变
优缺点
优点
1、不同的建造者类之间是互相独立的,这有利于系统的扩展与细化
2、不同部件的装配顺序是可控的,并且与产品与部件本身独立,顺序的调整不会引起其他部分的变更
3、创建者模式可以使客户端不必知道产品内部的组成细节
缺点
1、产品的衍生品必须有共同的特点,对使用范围有限制。
git地址:
https://github.com/wonlon/Design-patterns