目录
Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder。
工厂模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory。
单例模式,例如ErrorContext、LogFactory。
代理模式,例如jdk的动态代理MapperProxy、ConnectionLogger,executor.loader包下面的类使用了cglib或者javassist动态代理来达到延迟加载的效果。
组合模式,例如SqlNode、ChooseSqlNode等。
模板方法模式,例如BaseExecutor、SimpleExecutor、BaseTypeHandler等。
适配器模式,例如Log的Mybatis接口和它对jdbc、log4j等各种日志框架的适配实现。
装饰者模式,例如cache.decorators包下面各个类的实现。
迭代器模式,例如PropertyTokenizer。
Builder模式
Builder模式的定义是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。它属于创建类模