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

