建造者模式(生成器模式)定义:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式中的4个角色:
Product产品类
通常是实现了模板方法模式,也就是有模板方法和基本方法。
Builder抽象建造者
规范产品的组建,一般是由子类实现。
ConcreteBuilder具体建造者
实现抽象类定义的所有方法,并且返回一个组建好的对象。
Director导演类
负责安排已有模块的顺序,然后告诉Builder开始建造。
下面这个例子就是需要根据不同的方法的调用前后进行对象实例的创建。
产品类:
父类(使用了模板方法模式):
子类1:
子类2:
Builder抽象建造者类
ConcreteBuilder具体建造者类
建造者1:
建造者2:
Director导演类:
通过导演类,为每个方法调用的顺序都创建一个独立的方法,再调用建造者类对方法进行实例化
导演类可以有多个,建造者类也可有多个。
建造者模式的优点:
1、封装性:使用建造者模式可以使客户端不必知道产品内部组成的细节,
2、建造者独立,容易扩展:每个不同类型的建造者都相互独立,对系统的扩展非常有利。
3、便于控制细节风险:由于具体的建造者是独立的,因此可以对建造者过程逐步细化,而不对其他的模块产生任何影响。
Original: https://www.cnblogs.com/maple92/p/6671030.html
Author: Topze
Title: 设计模式——-建造者模式(生成器模式)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582960/
转载文章受原作者版权保护。转载请注明原作者出处!