策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
头发还在的女程序员8 天前
【免费下载】企业能源管理系统
小程序·策略模式·能源管理
前端 贾公子8 天前
React 和 Vue 都离不开的表单验证库 async-validator 之策略模式的应用 (上)
vue.js·react.js·策略模式
清水白石0089 天前
观察者模式全解析:用 Python 构建优雅的事件系统,让组件彻底解耦
java·python·观察者模式
小米4969 天前
Js设计模式---策略模式
设计模式·策略模式
易水寒陈9 天前
单片机实现的观察者模式
单片机·观察者模式
geovindu9 天前
python: Strategy Pattern
python·设计模式·策略模式
唔好理总之好犀利12 天前
回调函数与观察者模式
观察者模式
Hello.Reader12 天前
Flink 任务失败恢复机制Restart Strategy 和 Failover Strategy 怎么配才“又稳又不炸”
大数据·flink·策略模式
资深web全栈开发14 天前
设计模式之观察者模式 (Observer Pattern)
观察者模式·设计模式
武帝为此14 天前
【Linux strace命令介绍】
linux·运维·策略模式