设计模式对比:策略模式、状态模式、桥接模式

策略模式》与《状态模式》有相同的类结构图,与《桥接模式》结构非常相似。

目的不同:

  • 策略模式:策略模式的目的是封装一系列的算法,使这些算法能够相互替换。
  • 状态模式:封装状态对应的行为,并在内部状态改变的时候改变对象的行为。
  • 桥接模式:分离抽象部分与实现部分,使得它们可以独立地变化。

状态模式与策略模式:

  • 策略模式:这些算法是能够相互替换的,只不过算法有优劣区分罢了。
  • 状态模式:状态模式的行为是不能替换的,比如饮水机的加热和制冷状态下的行为不可替换。

桥接模式与策略模式:

  • 策略模式:只有一个维度的变化。
  • 桥接模式:分离多个维度的变化,提供一个管理类组合这多个维度。

猜你喜欢

转载自www.cnblogs.com/xmsx/p/9747597.html