JavaScript中的设计模式:策略模式

本文介绍了策略模式在实际编程中的应用,通过一个简单的奖金计算案例展示了如何利用策略模式消除冗余的if-else分支语句,使得代码更加清晰易维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无论学习前端还是后端设计模式是作为一名程序员不可缺少的知识,就像下底传中对于一个边锋来说

一.策略模式

策略模式给人的第一感觉就是在代码里面消除了很多if-else分支语句,比如一个求员工奖金的程序:

var caculate = function(level,salary){
    if(level==='A'){
        return salary*4;
    }
    if(level==='B'){
        return salary*5;
    }
}
caculate('A',5000);
caculate('B',3000);

不适用设计模式,代码如上图,会在一个函数中加入很多if判断,若果分支比较长,或者以后加入更多的种类,那么维护起来会很不方便。使用策略模式就是把真正需要变化的封装起来,比如这里的计算奖金的办法,最后将计算奖金委托给奖金算法。

var strategy  = {
    'A':function(salary){
        return salary*4;
    },
    'B': function(salary){
        return salary*5;
    }
};
var caculate = function(level,salary){
    return strategy[level](salary);
}
console.log(caculate('A',5000));

这就是简单的策略模式。

 

转载于:https://www.cnblogs.com/bdbk/p/4432963.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值