<h1>策略模式</h1>
<p>策略模式的定义:定义一系列的算法,把他们一个个封装起来,并且使他们可以相互替换。</p>
<p>JavaScript版本的策略模式</p>
<p>示例:使用策略模式计算奖金(与绩效和工资基数相关)</p>
<script>
var strategies = {
“S”: function(salary){
return salary * 4 ;
},
"A" : function(salary){
return salary * 3 ;
},
"B" : function(salary){
return salary * 2 ;
}
};
var calculateBonus = function( level , salary ){
strategies[level]( salary );
}
</script>
<p>通过使用策略模式重构代码,我们消除了源程序中大片的条件分支语句。所有分计算奖金有关的逻辑不再放在Context中,而是分布在哥哥策略对象中。Context并没有计算奖金的能力,而是把这个责任委托给某个策略对象。每个策略对象负责的算法已被各自封装在对象内部,这正是对象多态性的体现。<p>
js策略模式
最新推荐文章于 2023-09-18 10:15:00 发布