策略模式

策略模式的定義:定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可以相互替換

例子一:計(jì)算員工年終獎(jiǎng)

  • 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

在上面的代碼中,我們把計(jì)算的具體過(guò)程封裝到strategies里面了,當(dāng)客戶發(fā)起請(qǐng)求的時(shí)候(calculate),我們就可以把請(qǐng)求委托給這些策略對(duì)象中的某一個(gè)具體的方法進(jìn)行計(jì)算

小球運(yùn)動(dòng)效果 源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 策略模式在Angular中用到了,這里給大家分享一篇文章,看過(guò)之后便于理解angular 1、策略模式的定義:定義...
    MakingChoice閱讀 698評(píng)論 0 1
  • 1 場(chǎng)景問(wèn)題# 1.1 報(bào)價(jià)管理## 向客戶報(bào)價(jià),對(duì)于銷售部門的人來(lái)講,這是一個(gè)非常重大、非常復(fù)雜的問(wèn)題,對(duì)不同的...
    七寸知架構(gòu)閱讀 5,133評(píng)論 9 62
  • 1 場(chǎng)景問(wèn)題 1.1 報(bào)價(jià)管理 向客戶報(bào)價(jià),對(duì)于銷售部門的人來(lái)講,這是一個(gè)非常重大、非常復(fù)雜的問(wèn)題,對(duì)不同的客戶要...
    4e70992f13e7閱讀 3,126評(píng)論 2 16
  • 介紹 策略模式的定義是:定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可以相互替換。 在程序設(shè)計(jì)中,我們也常常...
    悟空你又瘦了閱讀 617評(píng)論 0 2
  • 終于,我對(duì)你沒(méi)有任何期望了,真好。 從今以后,我就跟你沒(méi)有關(guān)系了。我不再牽掛,也不再依賴你了。我們各自珍重吧。 過(guò)...
    時(shí)光清淺入骨閱讀 190評(píng)論 0 0