《每天一點Java知識》設計模式——策略模式

策略模式的概念圖

策略模式源來

在生活中述召,實現(xiàn)一個目標有多種方式方法蟹地,也就是有多種策略积暖」钟耄可以用if-else來簡單的判斷,但是當條件變多分别,并且條件變復雜后遍愿,耦合會十分的高,邏輯混亂不夠清晰沼填。
所以就產生了策略模式括授。
首先有一個上下文類Context荚虚,這個類持有一個策略的類引用 Strategy,并且有一個set方法梯澜。

public Class Context{
  Strategy strategy;
  public void Context(Strategy strategy){
  this.strategy=strategy;
  }
  public void doSomething(){
    strategy.doSomething();  
  }
}

然后將Strategy當做接口類腊徙,聲明必須要實現(xiàn)的方法doSomething(),實現(xiàn)它的多個策略子類螟蝙。

public inteface Strategy{
  public void doSomething();
}
public Class OneStrategy implement Strategy{
  public void doSomething(){
     System.out.println("one");
  }
}
public Class TwoStrategy implement Strategy{
  public void doSomething(){
     System.out.println("two");
  }
}

最后使用策略OneStrategy來解決問題胰默。

public void main(){
  Context context=new Context(new OneStrategy);
  context.doSomething();
}

若要是用策略TwoStrategy漓踢,將TwoStrategy 傳遞進Context中即可喧半。

核心思路是,持有接口引用取具,使用實現(xiàn)接口的具體類來覆蓋其方法扁耐,可擴展性和維護性極強婉称。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末王暗,一起剝皮案震驚了整個濱河市俗壹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肛捍,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棺禾,死亡現(xiàn)場離奇詭異膘婶,居然都是意外死亡,警方通過查閱死者的電腦和手機衅码,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奶躯,“玉大人亿驾,你說我怎么就攤上這事莫瞬。” “怎么了浙值?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長规求。 經常有香客問我阻肿,道長丛塌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮姥敛,結果婚禮上,老公的妹妹穿的比我還像新娘了赌。我一直安慰自己玄糟,他們只是感情好蝠引,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布杠园。 她就那樣靜靜地躺著筒狠,像睡著了一般辩恼。 火紅的嫁衣襯著肌膚如雪灶伊。 梳的紋絲不亂的頭發(fā)上寒跳,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天童太,我揣著相機與錄音书释,去河邊找鬼。 笑死狸页,一個胖子當著我的面吹牛芍耘,可吹牛的內容都是我干的熄阻。 我是一名探鬼主播饺律,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼复濒,長吁一口氣:“原來是場噩夢啊……” “哼巧颈!你這毒婦竟也來了?” 一聲冷哼從身側響起十籍,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤勾栗,失蹤者是張志新(化名)和其女友劉穎围俘,沒想到半個月后琢融,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漾抬,經...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡纳令,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年坤按,在試婚紗的時候發(fā)現(xiàn)自己被綠了馒过。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腹忽。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡窘奏,死狀恐怖着裹,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情摔竿,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站柴底,受9級特大地震影響粱胜,放射性物質發(fā)生泄漏焙压。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掀抹。 院中可真熱鬧傲武,春花似錦、人聲如沸态兴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至傻铣,卻和暖如春祥绞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背败京。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弓坞,地道東北人车荔。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓忧便,卻偏偏與公主長得像,于是被迫代替她去往敵國和親超歌。 傳聞我的和親對象是個殘疾皇子蒂教,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內容

  • 股票大作手回憶錄里記錄了利弗莫爾投資生涯中犯過的錯誤懊悯,小到損失本金梦皮,大到負債破產剑肯,真金白銀換來的經驗教訓在今天依然...
    從小白到精通閱讀 412評論 0 2
  • 慢慢挪開時光的軒窗 探頭出去看看遠方 原來 不知不覺間 已經悄悄越過了五月的頸部 即將迎來六月的眉稍 就在這五月末...
    一個叫李柯的女孩閱讀 249評論 0 2
  • 今天收到一個種子花開的驚喜岖妄,那就是我找到了一個英語語境下生活的的學友荐虐,一起結對子學英語丸凭,事實上我是困難戶腕铸,我的學友...
    寸心潔白閱讀 202評論 0 2
  • 作為一名大四應屆生,終于知道簡歷石沉大海是什么個體會讥蔽。 看到了好幾個“不匹配”反饋是這么寫的: 建議參考STAR法...
    gyt95閱讀 9,000評論 0 2
  • TO.柴姑 2016年又要到最后一個月了冶伞,年初的愿望還歷歷在目碰缔,新學期的誓言還寫在本本上戳护。這個學期就又要過去了。成...
    一塊甜糕閱讀 305評論 3 1