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


免責聲明!

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



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