策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
森龙安3 小时前
观察者模式,回调函数,事件调度
观察者模式
我要2006 小时前
工厂模式,策略模式,代理模式,单例模式在项目中的应用
单例模式·代理模式·策略模式
战神刘玉栋1 天前
《程序猿之设计模式实战 · 观察者模式》
python·观察者模式·设计模式
nakyoooooo1 天前
【设计模式】工厂模式、单例模式、观察者模式、发布订阅模式
观察者模式·单例模式·设计模式
会敲代码的小张3 天前
设计模式-观察者模式
java·开发语言·后端·观察者模式·设计模式·代理模式
秦哈哈3 天前
【软件设计】常用设计模式--观察者模式
观察者模式·设计模式
yyqzjw4 天前
【设计模式】观察者模式
算法·观察者模式·设计模式
小鹿( ﹡ˆoˆ﹡ )4 天前
Python中的策略模式:解锁编程的灵活之钥
开发语言·python·观察者模式
WineMonk8 天前
设计模式 21 策略模式
设计模式·策略模式
纵码驰骋9 天前
探索最佳 Shell 工具:全面测评 Bash、Zsh、Fish、Tcsh 和 Ksh
linux·服务器·ide·ssh·bash·策略模式·命令模式