天天看點

C++ 政策模式簡述模式結構優缺點

簡述

政策模式(Strategy Pattern)定義一系列算法,把它們一個個封裝起來,并且使它們可以互相替換。Strategy 可以使算法獨立于使用算法的用戶端。

|

版權聲明:一去、二三裡,未經部落客允許不得轉載。

模式結構

UML 結構圖:

C++ 政策模式簡述模式結構優缺點
  • Context(環境角色):持有一個對 Strategy 的引用,最終給用戶端調用。
  • Strategy(抽象政策):定義了一個公共接口,讓不同的算法以不同的方式來實作。通過這個接口,Context 可以調用不同的算法。
  • ConcreteStrategy(具體政策):實作 Strategy 定義的接口,提供具體算法的實作。

優缺點

優點:

  • 各自使用封裝的算法,可以很容易地引入新的算法來滿足相同的接口。
  • 由于實作的是同一個接口,是以政策之間可以自由切換。
  • Strategy

繼續閱讀