1.如何理解(Builder)
也可以理解为构建模式,通常用于构建相对比较复杂的对象,
- 构建过程复杂(很多过程又重复比较多)
- 对象依赖关系复杂
2.建造模式应用分析
- Mybatis(XmlConfigBuilder,XmlStatementBuilder)
- Spring(XmlBeanDefinitionReader)
3.建造模式对象角色分析
- 抽象建造者对象角色(Builder):可能是借口也可能是抽象类,此角色也可以省略
- 具体建造者对象角色(ConcreteBuilder)
- 导演角色(Director):持有建造者对象,可以省略
- 抽象产品角色(Product).可以省略
- 具体产品角色(ConcreteProduct)
4.建造模式的应用分析
- 优势:解耦对象的应用以及对象创建,通过建造者创建复杂具体产品对象,尤其是基于配置文件创建对象的场景下会大量使用建造者模式.(抽象工厂模式生成的产品可以多样,相对简单)
- 劣势:要构建的对象结构假如频繁变化可能导致构建者对象的设计比较复杂(建造模式建造的产品单一,但是单个产品复杂)