MyBatis:用到的设计模式。

设计模式一句话归纳举例
工厂模式(Factory)只对结果负责,封装创建过程。SqlSessionFactory、ObjectFactory、MapperProxyFactory
建造者模式(Builder)对象构建和表示分离SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder
单例模式(Singleton)保证独一无二。sqlsessionFactory、configuration、ErrorContext、LogFactory
代理模式(Proxy)找人办事,增强职责。

绑定:MapperProxy
延迟加载:ProxyFactory(CGLIB、JAVASSIT)

插件:Plugin

Spring集成MyBatis:SqlSessionTemplate的内部类SqlSessionInterceptor

MyBatis自带连接池:PooledDataSource管理的PooledConnection

日志打印:ConnectionLogger、StatementLogger

组合模式(Composite)部分-整体的层次结构SqlNode和各个子类ChooseSqlNode等
模板模式(Template)流程标准化,自己实现定制。

BaseExecutor与子类SimpleExecutor、BatchExecutor、ReuseExecutor

BaseTypeHandler

适配器模式(Adapter)兼容转换头。logging模块,对于Log4j、JDK logging这些没有直接实现slf4j接口的日志组件,需要适配器
装饰器模式(Decorator)包装,同宗同源。

LoggingCache、LruCache等对PerpectualCache的装饰

CachingExecutor对其他Executor的装饰

策略模式(Strategy)用户选择、结果统一。RoutingStatementHandler
责任链模式(Chain)一条链上处理各自任务InterceptorChain

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值