建造者模式
当实例化一个对象时,我们要得到不同的结构和不同的内部状态的对象时,我们可以使用不同的类(建造者)对它们进行实例化操作逻辑分别进行封装,这些类就是建造者。
Builder
为抽象建造者类,用于构建产品类的组成部分的抽象类或者接口
ConcreteBuilder
为具体的建造者类,实现或者继承抽象继承者类
比如我们需要轿车和跑车,我们可以创建具体的轿车建造者类和跑车建造者类,分别再各自实现自己特有的属性和方法。如果我们还需要卡车,我们再创建一个卡车建造者类,去实例化我们的卡车对象。
这种方法的好处就是,我们可以不用修改以前写好的代码,在已有的基础上添加我们所需要的功能。这就符合了设计原则中的开闭原则,开闭原则就是对拓展开放对修改代码关闭。一个建造者类只建一种类型的对象,符合单一职责原则。
Director
导演类。用于指导如何创建对象的类