策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
未来龙皇小蓝13 小时前
策略模式:Spring Bean策略与枚举 Lambda策略
java·windows·spring boot·spring·策略模式
凯子坚持 c1 天前
C++大模型SDK开发实录(一):spdlog日志封装、通用数据结构定义与策略模式应用
数据结构·c++·sdk·策略模式
IT永勇4 天前
c++设计模式-观察者模式
c++·观察者模式·设计模式
Geoking.5 天前
【设计模式】策略模式(Strategy)详解:把 if-else 变成可切换的算法
java·设计模式·策略模式
sxlishaobin6 天前
设计模式之策略模式
设计模式·策略模式
佛祖让我来巡山6 天前
【面试题】什么是观察者模式?一般用在什么场景?
观察者模式·设计模式
ExiFengs6 天前
Java使用策略模式实现多实体通用操作的优雅设计
java·开发语言·设计模式·策略模式
坚定学代码8 天前
基于观察者模式的ISO C++信号槽实现
开发语言·c++·观察者模式·ai
雪域迷影9 天前
MacOS中安装并配置Redis
redis·macos·策略模式
有个人神神叨叨9 天前
AITalk:从零到一打造 macOS 系统级语音输入引擎
macos·策略模式