策略模式

策略模式的定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

例子一:计算员工年终奖

  • levelA->3*salary
  • levelB->2*salary
  • levelC->1*salary
  
        var strategies = {
            "A" : function(salary){
                return salary * 3;
            },
            "B" : function(salary){
                return salary * 2;
            },
            "C" : function(salary){
                return salary * 1;
            }
        };

        var calculate = function(level,salary){
            return strategies[level](salary);
        };
        console.log(calculate("B",15000));//30000

在上面的代码中,我们把计算的具体过程封装到strategies里面了,当客户发起请求的时候(calculate),我们就可以把请求委托给这些策略对象中的某一个具体的方法进行计算

小球运动效果 源码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 策略模式在Angular中用到了,这里给大家分享一篇文章,看过之后便于理解angular 1、策略模式的定义:定义...
    MakingChoice阅读 699评论 0 1
  • 1 场景问题# 1.1 报价管理## 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的...
    七寸知架构阅读 5,134评论 9 62
  • 1 场景问题 1.1 报价管理 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的客户要...
    4e70992f13e7阅读 3,128评论 2 16
  • 介绍 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 在程序设计中,我们也常常...
    悟空你又瘦了阅读 619评论 0 2
  • 终于,我对你没有任何期望了,真好。 从今以后,我就跟你没有关系了。我不再牵挂,也不再依赖你了。我们各自珍重吧。 过...
    时光清浅入骨阅读 191评论 0 0