设计模式学习(二十四):Spring 中使用到的设计模式

设计模式学习(二十四):Spring 中使用到的设计模式

作者:Grey

原文地址:

博客园:设计模式学习(二十四):Spring 中使用到的设计模式

CSDN:设计模式学习(二十四):Spring 中使用到的设计模式

观察者模式

定义一个继承 ApplicationEvent 的事件;定义一个实现了 ApplicationListener 的监听器;定义一个发送者 DemoPublisher ,发送者调用 ApplicationContext 来发送事件消息。

模板方法

img

适配器模式

Spring 定义了统一的接口 HandlerAdapter ,并且对每种 Controller 定义了对应的适配器类。这些适配器类包括: AnnotationMethodHandlerAdapter 、 SimpleControllerHandlerAdapter 、 SimpleServletHandlerAdapter 等

策略模式

AopProxy 是策略接口, dkDynamicAopProxy、CglibAopProxy 是两个实现了 AopProxy 接口的策略类。策略的创建一般通过工厂方法来实现。对应到 Spring 源码, AopProxyFactory 是一个工厂类接口, DefaultAopProxyFactory 是一个默认的工厂类,用来创建 AopProxy 对象。

组合模式

CacheManager 组合 Cache

装饰器模式

TransactionAwareCacheDecorator 增加了对事务的支持,在事务提交、回滚的时候分别对 Cache 的数据进行处理。 TransactionAwareCacheDecorator 实现 Cache 接口,并且将所有的操作都委托给 targetCache 来实现,对其中的写操作添加了事务功能。这是典型的装饰器模式的应用场景和代码实现

工厂模式

BeanFactory 类和 ApplicationContext 相关类( AbstractApplicationContext、ClassPathXmlApplicationContext、FileSystemXmlApplicationContext等)

UML 和 代码

UML 图

代码

更多

设计模式学习专栏

参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreyZeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值