一、概念
- 建造者设计模式属于创建型设计模式,用来构建对象,构建一个有多个属性的对象;
二、场景
- 对象有很多必须属性的时候使用建造者模式。
- 属性数量稳定,不容易发生变化的时候使用建造者模式。
- 当创造一个对象 需要很多步骤时 , 适合使用建造者模式
三、实现
- 条件
- java
- 场景
- 以汽车为例,车有框架【框架有铝框架,铁框架】,轮毂【铁轮毂,铝轮毂】
- 代码实现
- 新建框架接口,类名:
package com.Builder; public interface IFrame { } - 新建轮毂接口,类名:
package com.Builder; public interface IHub { } - 新建汽车类,类名:
package com.Builder; public class Car { private IFrame frame; private IHub hub; public IFrame getFrame() { return frame; } public IHub getHub() { return hub; } public void setFrame(IFrame frame) { this.frame = frame; } public void setHub(IHub hub) { this.hub = hub; } } - 新建建造接口,类名:
package com.Builder; public interface ICarBuild { ICarBuild CreatFrame(); ICarBuild CreateHub(); Car Build(); } - 新建建造实现类,类名:
package com.Builder; public class CarBuild implements ICarBuild { Car car = new Car(); @Override public ICarBuild CreatFrame() { car.setFrame(new IronFrame()); return this; } @Override public ICarBuild CreateHub() { car.setHub(new AluminiumHub()); return this; } @Override public Car Build() { return car; } } - 入口函数,类名
package com; import com.Builder.CarBuild; import com.Builder.ICarBuild; public class Main { public static void main(String[] args) { ICarBuild carBuild = new CarBuild(); carBuild.CreatFrame().CreateHub(); carBuild.Build(); } } - 新建框架接口,类名:
四、优缺点
- 优点:
- 复用对象构造属性
- 不同的对象构造需求遵守了开闭原则
- 缺点:
- 随着业务的增多,业务的建造者也会变得太多。[使用建造者工厂模式来解决]
- 增加代码的复杂性,导致理解困难。
1499

被折叠的 条评论
为什么被折叠?



