设计模式-创建型-建造者模式
引言: 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、底盘、发动机、方向盘等各种部件。而对于大部分用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车。有的人说: 抽象工厂模式 不是用来生产产品的吗,我们使用它来解决不是可以了吗?貌似有一定的道理,但是你有没有考虑到了安装细节,每辆汽车的零部件安装细节可能是不同的。 抽象工厂模式实现对产品家族的创建,一个产品家族是这样的一系列产品:具有不同分类维度的产品组合,采用抽象工厂模式不需要关心构建过程,只关心什么产品由什么工厂生产即可。那怎么办呢?于是,建造者模式应运而生。 建造者模式: 建造者模式又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构造细节。 建造者模式有四个角色: 1、Product(产品):一个具体的产品对象。(也可以使用抽象工厂模式来进行细分) 2、Builder(抽象建造者):创建一个Product对象的各个部件指定的接口。 3、ConcreteBuilder(具体建造者):实现接口