概述
Builder Pattern 又叫生成器模式
将复杂对象的建造过程抽象出来,使这个抽象的不同实现方式可以构造出不同表现得对象。
建造者模式是一步一步创建一个复杂得对象,它允许用户只通过指定复杂对象得类型和内容就可以构建它们,用户不需要直到内部得具体构建细节。
四个核心角色:
- Product 产品角色
- Builder 建造抽象
- ConcreteBuilder 建造者
- Director 指挥者
1 需求
- 盖房子:打桩,砌墙,封顶
- 房子分为普通房,高楼,别墅
传统方式:
继承方式,client 通过房子类建造各种类型的房子。
优点:好理解,简单易操作
缺点:扩展和维护性不好,房子和创建房子的过程封装在一起,增加了耦合性。
解决方案:把产品和产品建造过程解耦====>建造者模式