設(shè)計(jì)模式之策略模式

策略模式

策略模式定義了算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓方法的變化不會(huì)影響到使用算法的客戶

模式作用:

  1. 所有的這些算法都是做相同的事情计雌,只是實(shí)現(xiàn)不同。
  2. 以相同的方式調(diào)用所有的方法妈橄,減少了各種算法類與使用算法類之間的耦合。
  3. 單獨(dú)定義算法類沙热,也方便了單元測(cè)試篙贸。

注意事項(xiàng):

  1. 不僅可以封裝算法爵川,也可以用來封裝幾乎任何類型的規(guī)則,是要在分析過程中需要在不同時(shí)間應(yīng)用不同的業(yè)務(wù)規(guī)則兔甘,就可以考慮是要策略模式來處理各種變化洞焙。

例子:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>策略模式</title>
  <script src="http://cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script>
</head>
<body>
  <input type="text" id="input">
<script>
var $input=$('#input');
var check={
  isEmpty:function(argument){
    //邏輯代碼
    return false;
  },
  isTel:function(){
    //邏輯代碼
    return true;
  }
}
var ise=check.isEmpty($input.val());
var isTel=check.isTel($input.val());
console.log(ise);//false;
console.log(isTel);//true
</script>
</body>
</html>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褒链,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子甸鸟,更是在濱河造成了極大的恐慌薪贫,老刑警劉巖瞧省,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異橡淑,居然都是意外死亡梳码,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門蜜笤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人县好,你說我怎么就攤上這事缕贡×肋洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵昼蛀,是天一觀的道長(zhǎng)鳍置。 經(jīng)常有香客問我税产,道長(zhǎng)辟拷,這世上最難降的妖魔是什么衫冻? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任笤喳,我火速辦了婚禮杀狡,結(jié)果婚禮上呜象,老公的妹妹穿的比我還像新娘蹬音。我一直安慰自己著淆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著讲坎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衫画。 梳的紋絲不亂的頭發(fā)上削罩,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音微服,去河邊找鬼。 笑死丛肮,一個(gè)胖子當(dāng)著我的面吹牛腾供,可吹牛的內(nèi)容都是我干的节值。 我是一名探鬼主播搞疗,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼泄隔!你這毒婦竟也來了逻澳?” 一聲冷哼從身側(cè)響起暖呕,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤库物,失蹤者是張志新(化名)和其女友劉穎定硝,沒想到半個(gè)月后蔬啡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡空猜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恨旱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辈毯。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖搜贤,靈堂內(nèi)的尸體忽然破棺而出谆沃,到底是詐尸還是另有隱情,我是刑警寧澤仪芒,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布饺蔑,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拇涤。R本人自食惡果不足惜掉盅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肚吏。 院中可真熱鬧,春花似錦、人聲如沸旗唁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽废累。三九已至,卻和暖如春尸红,著一層夾襖步出監(jiān)牢的瞬間鳖链,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工戴甩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留把夸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓诽表,卻偏偏與公主長(zhǎng)得像泛啸,于是被迫代替她去往敵國(guó)和親荠雕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舞虱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 在程序設(shè)計(jì)中,我們也常常遇到這樣的情況,要實(shí)現(xiàn)某一個(gè)功能有多種方案可以選擇缨伊。比如一個(gè)壓縮文件的程序摘刑,既可以選擇 z...
    風(fēng)銘閱讀 1,446評(píng)論 0 0
  • 一、什么是策略模式 策略模式屬于對(duì)象的行為模式刻坊。其用意是針對(duì)一組算法枷恕,將每一個(gè)算法封裝到具有共同接口的獨(dú)立的類中,...
    雅俗共賞M閱讀 462評(píng)論 0 0
  • 策略模式 大多數(shù)問題都可以使用多種方法來解決谭胚。以排序問題為例徐块,對(duì)于以一定次序把元素放入一個(gè)列表,排序算法有很多灾而。通...
    英武閱讀 1,825評(píng)論 0 50
  • 在日常開發(fā)過程中時(shí)常需要用到設(shè)計(jì)模式胡控,但是設(shè)計(jì)模式有23種,如何將這些設(shè)計(jì)模式了然于胸并且能在實(shí)際開發(fā)過程中應(yīng)用得...
    AntDream閱讀 3,561評(píng)論 3 7
  • 策略模式(Strategy):將定義的一組算法封裝起來旁趟,使其相互之間可以替換昼激。封裝的算法具有一定獨(dú)立性,不會(huì)隨客戶...
    JSUED閱讀 365評(píng)論 0 1