JavaScript设计模式-----策略模式

1.策略模式的定义:

定义一系列的算法,将他们一个个封装起来,并且使他们可以互相替换,他的目的是将算法的使用和算法的实现分离开,通俗的讲就是:定义一系列算法,将他们各自封装成策略类,算法被封装在策略内部的方法里,在客户对context发起请求时,context总是把请求委托给这些策略对象中间的某一个进行计算

2.JavaScript版的策略模式

我们可以用一个名为calculate的函数来计算每个人的奖金数额:

    最初的代码实现:


这样写函数缺乏弹性,复用性差

    策略模式实现:


3.策略模式的优缺点:

优点:

1.可以有效避免多重条件选择语句

2.提供了开放-封闭的完美支持。将算法封装在独立的策略类里面,使他们易于切换,易于扩展

缺点:

1.会在程序里增加许多策略类

2.要使用策略模式,必须了解所有的策略类,了解各个策略方法之间的不同点


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