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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM