mybatis 9種設計模式

mybatis 設計的設計模式:

1.builder 設計模式  例如: SqlSessionFactoryBuilder.xmlConfigbuilder,xmlMapperBuilder,xmlStatementBuilder,CacheBuilder

2.工廠設計模式,例如: SqlsessionFactory,ObjectFactory,MapperProxyFactory

3.單利設計模式  例如: ErrorContext和LogFactory

4.代理模式,mybatis實現的核心,比如mapperProxy,connectionLogger,用的是jdk的動態代理

5.組合模式,例如: SqlNode 和各個子類ChooseSqlNode等

6.模板方法模式:例如:BaseExecutor和SimpleExecutor,還有BaseTypeHander和所有的子類例如 IntegerTyprHander

7.適配器設計模式  Log的Mybatis接口和它對jdbc.log4j等各種日誌框架的適配實現

8.裝飾者模式 例如Cache包中的cache.decorators子包中等各個裝飾着的實現

9.迭代器設計模式 例如PropertyTokenizer

 

參考:

1.https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247489383&idx=1&sn=30ecd61a3017766af2a095801f86b6f0&chksm=9bd0baffaca733e97b6e7ac40c3ba636e9f4c59d950e551aeb076f1d4625c55ee9fcdea949ab&mpshare=1&scene=1&srcid=0319KDvl8naTxbZtcSh0QIt3&sharer_sharetime=1584627247455&sharer_shareid=0d5766366214c728daf2a5304936d229&key=eddb62794d157e2021b1297f71c0f657970aac64295eec1419138edcb3eb2af0bcd957e0315dea70bc34d0b85ac92363f529269a0ce2d78259357e9b67446a3d11796b3a7dcc46f73f2d8582a1fe6a86&ascene=1&uin=MTA4Njg2MDEyNg%3D%3D&devicetype=Windows+10&version=62080079&lang=zh_CN&exportkey=Ac1DdRl6hNop%2B6S010yK%2B14%3D&pass_ticket=lCLFkOm6i0ELD88U%2B7KwSN0qs2zuQLNaLYSxcw%2Bzbz9TDCZaj01PLvKaHH5Gt5s4

2.https://blog.csdn.net/Noky0/article/details/83018958

3.https://www.jianshu.com/p/9bcac608c714--- mybatis的動態代理

4.https://www.jianshu.com/p/c7f19e5310f9---組合設計模式

5.https://www.jianshu.com/p/800a44c1d9dd------模板設計模式

6.https://zhuanlan.zhihu.com/p/56518978---適配器設計模式

7.https://www.jianshu.com/p/b5a189df628b---適配器設計模式

8.https://www.jianshu.com/p/a1edbf3214e6--- mybatis 源碼分析

9.https://www.jianshu.com/p/0037f57c85a4------策略設計模式

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章