1、Builder模式:例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder

2、工厂模式:例如SqlSessionFactory、ObjectFactory、MapperProxyFactory

3、单例模式:例如LogFactory、ErrorContext

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

相关文章:

  • 2022-12-23
  • 2021-12-24
  • 2021-06-03
  • 2022-12-23
  • 2021-09-22
猜你喜欢
  • 2022-12-23
  • 2021-10-31
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案