策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
刘某某.7 小时前
使用工厂模式和策略模式实现布隆过滤器
策略模式
牛奶咖啡134 天前
学习设计模式《十六》——策略模式
学习·设计模式·策略模式·认识策略模式·策略模式的优缺点·何时选用策略模式·策略模式的使用示例
OpenC++4 天前
【C++】观察者模式
c++·观察者模式·设计模式
勤奋的知更鸟4 天前
Java 编程之策略模式详解
java·设计模式·策略模式
FreeBuf_4 天前
朝鲜APT组织使用Nim语言恶意软件对macOS发起隐秘Web3与加密货币攻击
macos·web3·策略模式
暮乘白帝过重山4 天前
设计模式篇:灵活多变的策略模式
设计模式·策略模式
GodKeyNet4 天前
设计模式-策略模式
设计模式·策略模式
守城小轩14 天前
Chromium 136 编译指南 macOS篇:编译优化技巧(六)
macos·策略模式
尤物程序猿14 天前
设计模式之手写策略模式实现动态支付(Java实现)
java·设计模式·策略模式
charlie11451419115 天前
从C++编程入手设计模式——观察者模式
c++·观察者模式·设计模式