• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦>知識大全>知識百科>百科知識>

    什么是策略模式具體的介紹

    時間: 謝君787 分享

      策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化。那么你對策略模式了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是策略模式的內(nèi)容,希望大家喜歡!

      什么是策略模式

      策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化。

      策略模式的概念

      (原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.)

      Context(應(yīng)用場景):

      1、需要使用ConcreteStrategy提供的算法。

      2、 內(nèi)部維護(hù)一個Strategy的實例。

      3、 負(fù)責(zé)動態(tài)設(shè)置運(yùn)行時Strategy具體的實現(xiàn)算法。

      4、負(fù)責(zé)跟Strategy之間的交互和數(shù)據(jù)傳遞。

      Strategy(抽象策略類):

      1、 定義了一個公共接口,各種不同的算法以不同的方式實現(xiàn)這個接口,Context使用這個接口調(diào)用不同的算法,一般使用接口或抽象類實現(xiàn)。

      ConcreteStrategy(具體策略類):

      2、 實現(xiàn)了Strategy定義的接口,提供具體的算法實現(xiàn)。

      策略模式應(yīng)用場景

      應(yīng)用場景:

      1、 多個類只區(qū)別在表現(xiàn)行為不同,可以使用Strategy模式,在運(yùn)行時動態(tài)選擇具體要執(zhí)行的行為。

      2、 需要在不同情況下使用不同的策略(算法),或者策略還可能在未來用其它方式來實現(xiàn)。

      3、 對客戶隱藏具體策略(算法)的實現(xiàn)細(xì)節(jié),彼此完全獨(dú)立。

      策略模式優(yōu)缺點

      優(yōu)點:

      1、 策略模式提供了管理相關(guān)的算法族的辦法。策略類的等級結(jié)構(gòu)定義了一個算法或行為族。恰當(dāng)使用繼承可以把公共的代碼轉(zhuǎn)移到父類里面,從而避免重復(fù)的代碼。

      2、 策略模式提供了可以替換繼承關(guān)系的辦法。繼承可以處理多種算法或行為。如果不是用策略模式,那么使用算法或行為的環(huán)境類就可能會有一些子類,每一個子類提供一個不同的算法或行為。但是,這樣一來算法或行為的使用者就和算法或行為本身混在一起。決定使用哪一種算法或采取哪一種行為的邏輯就和算法或行為的邏輯混合在一起,從而不可能再獨(dú)立演化。繼承使得動態(tài)改變算法或行為變得不可能。

      3、 使用策略模式可以避免使用多重條件轉(zhuǎn)移語句。多重轉(zhuǎn)移語句不易維護(hù),它把采取哪一種算法或采取哪一種行為的邏輯與算法或行為的邏輯混合在一起,統(tǒng)統(tǒng)列在一個多重轉(zhuǎn)移語句里面,比使用繼承的辦法還要原始和落后。

      缺點:

      1、客戶端必須知道所有的策略類,并自行決定使用哪一個策略類。這就意味著客戶端必須理解這些算法的區(qū)別,以便適時選擇恰當(dāng)?shù)乃惴悺Q言之,策略模式只適用于客戶端知道所有的算法或行為的情況。

      2、 策略模式造成很多的策略類,每個具體策略類都會產(chǎn)生一個新類。有時候可以通過把依賴于環(huán)境的狀態(tài)保存到客戶端里面,而將策略類設(shè)計成可共享的,這樣策略類實例可以被不同客戶端使用。換言之,可以使用享元模式來減少對象的數(shù)量。
    看過“策略模式是什么“的人還看了:

    1.危機(jī)處理有什么策略模式

    2.策略性商業(yè)模式是什么

    3.企業(yè)戰(zhàn)略管理系統(tǒng)戰(zhàn)略

    4.對于C2C模式下電子商務(wù)稅收管理對策的探究論文

    5.循環(huán)經(jīng)濟(jì)策略論文

    6.高考化學(xué)復(fù)習(xí)備考策略

    什么是策略模式具體的介紹

    策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化。那么你對策略模式了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是策略模式的內(nèi)容,希望大家喜歡! 什么是策略模式 策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相
    推薦度:
    點擊下載文檔文檔為doc格式

    精選文章

    • 黨參和太子參有什么區(qū)別
      黨參和太子參有什么區(qū)別

      參類是藥用價值很高的中藥,各種參傻傻分不清楚,容易誤用。那么黨參和太子參的區(qū)別有哪些呢?以下是小編為大家整理推薦關(guān)于黨參和太子參的區(qū)別及

    • 什么是策劃案具體的介紹
      什么是策劃案具體的介紹

      策劃案一般分為商業(yè)策劃案、創(chuàng)業(yè)策劃案、廣告策劃案,活動策劃案,營銷策劃案,網(wǎng)站策劃案,項目策劃案,公關(guān)策劃案、婚禮策劃案等。那么你對策劃

    • 什么是測試效度的概念意思
      什么是測試效度的概念意思

      測試效度是一套測試是否達(dá)到了它預(yù)定的目的以及是否測量了它要測量的內(nèi)容。那么你對測試效度了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是測試效度

    • 黨參和沙參的區(qū)別
      黨參和沙參的區(qū)別

      黨參和沙參都是常見的中藥材,平常煲湯或者泡茶時都會用到,但很多人不了解黨參和沙參的區(qū)別,分不清兩者的功效作用。那么,黨參和沙參的區(qū)別是什

    1356038 主站蜘蛛池模板: 国产后入清纯学生妹| 女人与zozo| 又黄又爽的视频免费看| 中文字幕国产日韩| 色妞色视频一区二区三区四区| 日韩精品一区二区三区免费视频| 国产最新在线视频| 五月天精品在线| 好吊色青青青国产在线观看| 最新国产乱人伦偷精品免费网站| 国产日产精品_国产精品毛片 | 国产成人a毛片在线| 久久人午夜亚洲精品无码区 | 99国产精品热久久久久久| 欧美日韩三级在线| 国产香蕉97碰碰久久人人| 亚洲国产精品久久人人爱| 免费看黄色网页| 日本一区视频在线播放| 医生好大好硬好爽好紧| a毛片全部免费播放| 欧美午夜精品久久久久免费视| 国产成人综合久久久久久| 久久久噜噜噜久久网| 精品国产欧美另类一区| 在线免费不卡视频| 亚洲av之男人的天堂网站| 色偷偷成人网免费视频男人的天堂 | 欧美精品在欧美一区二区| 国产日韩精品在线| 久久中文娱乐网| 男女高潮又爽又黄又无遮挡| 国产精品福利一区| 久久亚洲国产精品成人AV秋霞| 精品久久久无码中文字幕| 天天综合色一区二区三区| 另类老妇性BBWBBW| ts人妖在线观看| 欧美va亚洲va香蕉在线| 四虎国产精品永久免费网址| 99ri国产在线|