介绍
建造者模式(Builder Pattern)使用多个简单的对象一步步构建成一个复杂的对象.该Builder类独立于其他对象.
解决: 在软件系统中,有时面临着的 “复杂对象” 的创建工作.其通常由各个部分的子对象用一定的算法构成;由于需求的变化,足额个复杂对象的各个部分经常面临则变化.(比如 Guava中 的 CacheBuilder
缓存建造器, JDK的StringBuilder
)
使用场景: 一些基本部件不会变,而其组合经常变化的时候.
优点: 1. 建造者独立,已扩展, 2. 便于控制细节风险.
UML图
构建者模式强调一种 组件与整体的关系,即由 Builder构建出来的 Product 是由多个 part 构成的.
与工厂模式的差别
构建者模式与工厂模式两个模式都是创建一个新的对象,向调用者隐藏器创建细节,关于它们的差别,看了一些博客,我觉的主要是构建者模式,更加注重组件与整体的关系,而工程模式并不关心,构建者者模式的part就可以是由多个不同part的工厂来进行创建的.
相关博客:
http://blog.csdn.net/lovelion/article/details/7426015
http://hejiawangjava.iteye.com/blog/2238889
http://bbs.csdn.net/topics/30241587
http://wiki.jikexueyuan.com/project/java-design-pattern/builder-pattern.html