策略模式和观察者模式

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

策略模式

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

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

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

观察者模式

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

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

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

相关推荐
geovindu6 天前
java: Strategy Pattern
java·开发语言·后端·设计模式·策略模式·行为模式
geovindu7 天前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
geovindu7 天前
CSharp: Strategy Pattern
开发语言·后端·c#·.net·.netcore·策略模式·行为模式
沪上企服通9 天前
代账数据的可移植性设计:开放接口、账套导出与 exit strategy 工程笔记(上海 5 家样本对照)
笔记·策略模式
码匠许师傅9 天前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
geovindu9 天前
java:Observer Pattern
java·开发语言·后端·观察者模式·设计模式·行为模式
码匠许师傅10 天前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
++==12 天前
基于策略模式的应用层协议支持
策略模式
Java后端的Ai之路12 天前
23、Python - 策略模式
linux·python·策略模式
程序员夏洛14 天前
什么是策略模式?一般用在什么场景?
策略模式