解析:

  1. Builder模式:例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;
  2. 工厂模式:SqlSessionFactory、ObjectFactory、MapperProxyFactory;
  3. 单例模式:ErrorContext和LogFactory;
  4. 代理模式:Mybatis实现的核心,比如:MapperProxy、ConnectionLogger,用的JDK的动态代理;还有executor.loader包使用了cglib或者javassist达到延迟加载的效果;
  5. 组合模式:SqlNode、各种ChooseSqlNode等等;
  6. 模板方法模式:BaseExecutor和SimpleExecutor,还有BaseTypeHandler和所有的子类例如:IntegerTypeHandler;
  7. 适配器模式:例如Log的Mybatis接口和它对jdbc、log4j等各种日志框架的适配实现;
  8. 装饰者模式:Cache包中的cache.decorators子包等各种装饰器的实现;
  9. 迭代器模式:PropertyTokenizer。
最后修改于 2020-04-01 20:03:33
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇