天天看點

設計模式-政策模式

定義:定義了一系列算法,并将每一個算法封裝起來,而且他們之間還可以互相替換。

注意解決多種算法相似的i情況下,使用if/else帶來的複雜和難以維護。

使用場景:1. 一個對象有很多行為,這些行為使用了多重條件選擇語句實作。2.一個系統需要動态的在幾種算法中選擇一種。

設計模式-政策模式

可以使用政策模式+工廠模式處理 if\else過多的情況

示例代碼:

測試代碼:

政策模式和狀态模式的差別:

為什麼拿政策模式和狀态模式比較呢?因為他們的UML圖是一樣的。

但是政策模式是讓使用者指定更換的政策算法,而狀态模式是狀态在滿足一定條件下的自動更換。一個政策就是一個計劃方案,可以互相替代。狀态整體構成一個流程,各個流程有一定的順序。

傳回目錄

書山有路勤為徑,學海無涯苦作舟