Mybatis使用的设计模式

一、装饰模式

最明显的就是cache包下面的实现

Cahe、LoggingCache、LruCache、TransactionalCahe...等

以LoggingCache为例,UML图

                              Mybatis使用的设计模式_第1张图片

Mybatis使用的设计模式_第2张图片

Cache cache  = new LoggingCache(new PerpetualCache("cacheid"));
一层层包装就使得默认cache实现PerpetualCache具有附加的功能,比如上面的log功能。

二、建造者模式

BaseBuilder、XMLMapperBuilder


Mybatis使用的设计模式_第3张图片

三、工厂方法

SqlSessionFactory

Mybatis使用的设计模式_第4张图片

四、适配器模式

Log、LogFactory

Mybatis使用的设计模式_第5张图片

五、模板方法

BaseExecutor、SimpleExecutor

Mybatis使用的设计模式_第6张图片

六、动态代理

Plugin 见7图

7、责任链模式

Interceptor、InterceptorChain

Mybatis使用的设计模式_第7张图片



你可能感兴趣的:(Mybatis使用的设计模式)