Builder模式
有句话说得好,遇到难以解决的问题就加一层中间层来代理抽象.Builder模式正式如此,对象本身创建麻烦,那么就使用一个代理对象来主导创建与检验,兼顾了重叠器模式的安全性以及JavaBean...Mybatis中Builder模式应用
Mybatis拥有种类繁多的配置,那么builder就很适合其配置类对象,以MappedStatement类为例子....MappedStatement拥有数十项配置,如果使用构造函数或者静态工厂那么对于开发人员可能是难以接受的体验.一大堆参数,还需要点进去才能知道每一个参数的意义,在这样的情况下Builder模式就是一个很好的解决方式...来控制,代码中把其构造函数声明为包级别权限
MappedStatement() {
// constructor disabled
}
总结
Builder模式本质上是一种特殊的工厂模式,按照流水线方式调用...参考
Effective Java : 遇到多个构造器参数时考虑构建器(Builder模式)