zoukankan      html  css  js  c++  java
  • mybatis中用到的9种设计模式

    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

  • 相关阅读:
    解决谷歌高版本没有设置字符编码的选项的问题
    System.nanoTime与System.currentTimeMillis的区别
    jQuery学习笔记(一)
    linux问题
    阿里资源学习
    PHP-Gealman
    php-fpm
    GIT使用
    设置导出的excel数据
    CI框架, 参数验证
  • 原文地址:https://www.cnblogs.com/blackdd/p/12364112.html
Copyright © 2011-2022 走看看