概念:
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步步构建而成。
实现类的说明:
- PenBuilder:笔的构造接口
- PenDirector:导演类
- BallpointPenBuilder:圆珠笔的构造类,实现PenBuilder接口
- BrushPenBuilder:画笔的构造类,实现PenBuilder的接口
- Pen:抽象一个产品类
- BrushPen:具体的产品类,画笔,继承Pen
- BallpointPen:具体的产品类,圆珠笔,继承Pen
- BuilderTest:测试类
示例:
PenBuilder接口:
PenDirector导演类:
BallpointPenBuilder圆珠笔builder类:
BrushPenBuilder画笔builder类:
Pen实体类:
BrushPen实体类类:
BallpointPen实体类:
BuilderTest测试类:
在Spring中的应用:
Spring在创建Bean之前,会将每个Bean的声明封装成对应的一个BeanDefinition,而BeanDefinition会封装很多属性,所以Spring为了更优雅的创建BeanDefinition,就提供了BeanDefinitionBuilder这个建造者
在JDK中的应用:
StringBuilder类