zoukankan      html  css  js  c++  java
  • Mybatis涉及的设计模式

    Mybatis至少遇到了以下的设计模式的使用:

    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;

  • 相关阅读:
    Django -- 多对多建表增删改查
    Django -- 一对多建表增删改查
    Django -- 图书管理系统
    Django -- 基础
    前端 -- jQuery
    前端 -- JavaScript-BOM
    前端 -- JavaScript-DOM
    前端 -- JavaScript基础
    前端 -- HTML块级标签
    linux目录结构
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/12334365.html
Copyright © 2011-2022 走看看