策略模式和观察者模式

策略模式和观察者模式属于行为型模式。

策略模式

策略模式主要是用在根据上下文动态控制类的行为的场景:

  • 一方面可以解决多个 if...else 判断带来的代码复杂性和维护性问题
  • 另一方面,把类的不同行为进行封装,使得程序可以进行动态的扩展和替换,增加了程序的灵活性。

像支付路由这种场景,就可以使用策略模式实现。

观察者模式

观察者模式主要用在一对多的对象依赖关系的中,实现某一个对象状态变更之后的感知的场景:

  • 一方面可以降低对象依赖关系的耦合度,弱化依赖关系。
  • 另一方面,通过这种状态通知机制,可以保证这些依赖对象之间的状态协同。

在 Spring 源码里面有大量运用这种观察者模式实现事件的传播和感知。

相关推荐
xiaodaidai丶12 小时前
设计模式之策略模式
设计模式·策略模式
ysyxg2 天前
设计模式-观察者模式
观察者模式
安冬的码畜日常4 天前
【JUnit实战3_27】第十六章:用 JUnit 测试 Spring 应用:通过实战案例深入理解 IoC 原理
spring·观察者模式·设计模式·单元测试·ioc·依赖注入·junit5
czy87874754 天前
C语言实现观察者模式
c语言·观察者模式
czy87874755 天前
C语言实现策略模式
c语言·排序算法·策略模式
低头不见5 天前
策略模式上下文管理
windows·python·策略模式
R.lin8 天前
Java支付对接策略模式详细设计
java·架构·策略模式
xiaoye370810 天前
23种设计模式之策略模式
设计模式·策略模式
Miqiuha14 天前
观察者模式学习
学习·观察者模式
冰糖拌面16 天前
CRLF行结束符问题
策略模式