策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
bkspiderx2 天前
C++设计模式之行为型模式:策略模式(Strategy)
c++·设计模式·策略模式
_Yoke3 天前
Java 枚举多态在系统中的实战演进:从枚举策略到自动注册
java·springboot·策略模式
o0向阳而生0o5 天前
107、23种设计模式之观察者模式(16/23)
观察者模式·设计模式
笨手笨脚の5 天前
设计模式-策略模式
设计模式·策略模式·行为型设计模式
2501_915921435 天前
iOS 26 崩溃日志解析,新版系统下崩溃获取与诊断策略
android·ios·小程序·uni-app·cocoa·iphone·策略模式
liulilittle10 天前
macOS 内核路由表操作:直接 API 编程指南
网络·c++·macos·策略模式·路由·route·通信
青草地溪水旁10 天前
设计模式(C++)详解——策略模式(1)
c++·设计模式·策略模式
o0向阳而生0o10 天前
105、23种设计模式之策略模式(14/23)
设计模式·策略模式
青草地溪水旁11 天前
设计模式(C++)详解——策略模式(2)
c++·设计模式·策略模式
青草地溪水旁12 天前
设计模式(C++)详解——观察者模式(Observer)(1)
c++·观察者模式·设计模式