今天看啥  ›  专栏  ›  JAVA

MyBatis 使用的 9 种设计模式,真是太有用了~

JAVA  · 公众号  · Java  · 2019-08-05 08:20
来源 | crazyant.net/2022.html虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用:Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;工厂模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory;单例模式,例如ErrorContext和LogFactory;代理模式,Mybatis实现的核心,比如MapperProxy、ConnectionLogger,用的jdk的动态代理;还有executor.loader包使用了cglib或者javassist达到延迟加载的效果;组合模式,例如SqlNode和各个子类ChooseSqlNode等;模板方法模式,例如BaseExecutor和SimpleExecu ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照