定義:定義了一系列算法,并将每一個算法封裝起來,而且他們之間還可以互相替換。
注意解決多種算法相似的i情況下,使用if/else帶來的複雜和難以維護。
使用場景:1. 一個對象有很多行為,這些行為使用了多重條件選擇語句實作。2.一個系統需要動态的在幾種算法中選擇一種。

可以使用政策模式+工廠模式處理 if\else過多的情況
示例代碼:
測試代碼:
政策模式和狀态模式的差別:
為什麼拿政策模式和狀态模式比較呢?因為他們的UML圖是一樣的。
但是政策模式是讓使用者指定更換的政策算法,而狀态模式是狀态在滿足一定條件下的自動更換。一個政策就是一個計劃方案,可以互相替代。狀态整體構成一個流程,各個流程有一定的順序。
傳回目錄
書山有路勤為徑,學海無涯苦作舟