一、问题
盖房子项目需求
1)需要建房子:这一过程为打桩、砌墙、封顶
2)房子有各种各样的:比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同。
二、介绍
1、又叫生成器模式,是一种创建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),这个抽象过程的不同
实现方法可以构造出不同表现(属性)的对象。
2、是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道
内部的具体构建细节。
三、建造者模式的四个角色
1、Product(产品角色):一个具体的产品对象
2、Builder(抽象建造者):创建一个Product对象的各个部件指定的接口/抽象类。
3、ConcreteBuilder(具体建造者):实现接口,构建和装配各个部件。
4、Direct(指挥者):构建一个使用Builder接口的对象,他主要是用于创建一个复杂的对象,它主要有两个作用,
一是:隔离了客户端与对象的生产过程,二是:负责控制产品对象的生产过程。
四、代码演示
五、比较
1、传统比较好理解,简单操作。
2、设计的程序结构,过于简单,没有设计缓冲层对象,程序的扩展和维护不好。耦合性强。