1. 程式人生 > >設計模式對比:策略模式、狀態模式、橋接模式

設計模式對比:策略模式、狀態模式、橋接模式

策略模式》與《狀態模式》有相同的類結構圖,與《橋接模式》結構非常相似。

目的不同:

  • 策略模式:策略模式的目的是封裝一系列的演算法,使這些演算法能夠相互替換。
  • 狀態模式:封裝狀態對應的行為,並在內部狀態改變的時候改變物件的行為。
  • 橋接模式:分離抽象部分與實現部分,使得它們可以獨立地變化。

狀態模式與策略模式:

  • 策略模式:這些演算法是能夠相互替換的,只不過演算法有優劣區分罷了。
  • 狀態模式:狀態模式的行為是不能替換的,比如飲水機的加熱和製冷狀態下的行為不可替換。

橋接模式與策略模式:

  • 策略模式:只有一個維度的變化。
  • 橋接模式:分離多個維度的變化,提供一個管理類組合這多個維度。