策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
Java_2017_csdn3 天前
Java 策略模式(Strategy Pattern)-(二)
java·开发语言·策略模式
Java_2017_csdn3 天前
Java 策略模式(Strategy Pattern)-(一)
java·开发语言·策略模式
拾光Ծ3 天前
【Linux系统编程】线程池项目实战与基于策略模式的日志系统
linux·bash·线程池·策略模式·日志
星原望野3 天前
JAVA:策略模式的实战使用
java·开发语言·策略模式
前端张三3 天前
从零构建大模型(零)——搭建配置环境
策略模式
j_xxx404_4 天前
Linux 线程日志系统设计:从策略模式、RAII 到 pthread 线程安全与内核写入路径|附源码
linux·运维·服务器·开发语言·c++·人工智能·策略模式
代码小书生7 天前
shutil,一个文件操作的 Python 库!
开发语言·python·策略模式
ting94520007 天前
ModelHub 深度技术解析:macOS 原生菜单栏 LLM 模型管理工具,补齐 Ollama/MLX/LM Studio 生态短板
人工智能·macos·架构·策略模式
张小姐的猫7 天前
【Linux】多线程实战 —— 日志类 | 策略模式
linux·运维·服务器·c++·bash·策略模式
老码观察8 天前
设计模式实战解读(五):策略模式——干掉 if-else 的优雅方案
java·设计模式·策略模式