JavaScript設計模式-----策略模式

1.策略模式的定義:

定義一系列的算法,將他們一個個封裝起來,並且使他們可以互相替換,他的目的是將算法的使用和算法的實現分離開,通俗的講就是:定義一系列算法,將他們各自封裝成策略類,算法被封裝在策略內部的方法裏,在客戶對context發起請求時,context總是把請求委託給這些策略對象中間的某一個進行計算

2.JavaScript版的策略模式

我們可以用一個名爲calculate的函數來計算每個人的獎金數額:

    最初的代碼實現:


這樣寫函數缺乏彈性,複用性差

    策略模式實現:


3.策略模式的優缺點:

優點:

1.可以有效避免多重條件選擇語句

2.提供了開放-封閉的完美支持。將算法封裝在獨立的策略類裏面,使他們易於切換,易於擴展

缺點:

1.會在程序裏增加許多策略類

2.要使用策略模式,必須瞭解所有的策略類,瞭解各個策略方法之間的不同點


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章