在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

設計模式行為型:策略模式

冬至子 ? 來源:碼農架構 ? 作者:小智 ? 2023-06-07 11:18 ? 次閱讀

在策略模式(Strategy Pattern)中,一個類的行為或其算法可以在運行時更改。這種類型的設計模式屬于行為型模式。

在策略模式中,我們創(chuàng)建表示各種策略的對象和一個行為隨著策略對象改變而改變的 context 對象。策略對象改變 context 對象的執(zhí)行算法。

定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。在有多種算法相似的情況下,使用 if...else 所帶來的復雜和難以維護。

結構圖

圖片

角色與理解

  • 策略模式共分為三種角色:
  • Context(上下文環(huán)境):持有抽象策略類,調用策略方法。
  • Strategy(抽象策略類):聲明策略方法。
  • Concrete Strategy(具體策略類):實現(xiàn)策略方法。
  • Context持有State的引用,完成對ConcreteStrategy中策略方法的調用

核心代碼

  • 抽象策略類
public interface Strategy {
    void doSomething();
}
  • 真實策略類
public class ConcreteStrategyA implements Strategy {
    @Override
    public void doSomething() {
        System.out.println("AAA");
    }
}
public class ConcreteStrategyB implements Strategy {
    @Override
    public void doSomething() {
        System.out.println("BBB");
    }
}
  • 客戶端
public class Client {
    public static void main(String[] args) {
        Strategy strategy = new ConcreteStrategyA();
        strategy.doSomething();
        strategy = new ConcreteStrategyB();
        strategy.doSomething();
    }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4701

    瀏覽量

    94876
  • State
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7802
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于入侵行為模式的告警關聯(lián)

    本文提出了一種基于入侵行為模式的告警關聯(lián)方式。入侵行為模式是定義在時間基礎上的一組謂詞公式,其實質是通過時間限制聯(lián)系在一起的入侵事件的集合。該方法在對大量告
    發(fā)表于 08-13 08:35 ?6次下載

    混合導通模式BoostPFC的控制策略研究

    混合導通模式BoostPFC的控制策略研究_王武
    發(fā)表于 01-04 16:32 ?8次下載

    基于訪存行為感知的存儲調度策略

    隨著通用圖形處理器在高性能計算領域的廣泛應用,新的并行執(zhí)行模式被提出。在新模式下,當前的存儲調度策略未能使存儲器的吞吐率達到最大。分析了圖形處理器上多程序并行執(zhí)行模式下應用程序訪存
    發(fā)表于 11-20 14:23 ?13次下載
    基于訪存<b class='flag-5'>行為</b>感知的存儲調度<b class='flag-5'>策略</b>

    設計模式最佳實踐探索—策略模式

    根據(jù)不同的應用場景與意圖,設計模式主要分為創(chuàng)建型模式、結構型模式行為模式三類。本文主要探索行為
    的頭像 發(fā)表于 10-31 14:24 ?1162次閱讀

    設計模式:備忘錄設計模式

    備忘錄設計模式(Memento Design Pattern)是一種行為設計模式,它的主要目的是在不破壞對象封裝性的前提下,捕捉和保存一個對象的內部狀態(tài)
    的頭像 發(fā)表于 06-06 11:19 ?942次閱讀

    設計模式行為:中介模式

    提供一個中介者完成對一系列操作的封裝,降低對象間的系統(tǒng)耦合度。中介者模式又稱為調停者模式。
    的頭像 發(fā)表于 06-06 17:42 ?873次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:中介<b class='flag-5'>模式</b>

    設計模式行為:備忘錄模式

    備忘錄模式(Memento Pattern)保存一個對象的某個狀態(tài),以便在適當?shù)臅r候恢復對象。備忘錄模式屬于行為模式。
    的頭像 發(fā)表于 06-07 11:16 ?1016次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:備忘錄<b class='flag-5'>模式</b>

    設計模式行為:狀態(tài)模式

    在狀態(tài)模式(State Pattern)中,類的行為是基于它的狀態(tài)改變的。這種類型的設計模式屬于行為模式。
    的頭像 發(fā)表于 06-07 11:20 ?790次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:狀態(tài)<b class='flag-5'>模式</b>

    設計模式行為:訪問者模式

    在訪問者模式(Visitor Pattern)中,我們使用了一個訪問者類,它改變了元素類的執(zhí)行算法。
    的頭像 發(fā)表于 06-07 15:11 ?937次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:訪問者<b class='flag-5'>模式</b>

    設計模式行為:模板方法模式

    在模板模式中,一個抽象類公開定義了執(zhí)行它的方法的方式/模板。
    的頭像 發(fā)表于 06-07 15:13 ?761次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:模板方法<b class='flag-5'>模式</b>

    設計模式行為:觀察者模式

    定義對象之間的一種一對多依賴關系,使得每一個對象發(fā)生狀態(tài)的變化時,其相關依賴對象皆得到通知并被自動更新,又稱為發(fā)布-訂閱模式、模型-視圖模式、源-監(jiān)聽器模式或從屬者模式。
    的頭像 發(fā)表于 06-07 16:56 ?863次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:觀察者<b class='flag-5'>模式</b>

    行為設計模式在UVM中的應用

    接下來介紹行為設計模式在UVM中的應用。
    的頭像 發(fā)表于 08-09 14:01 ?958次閱讀
    <b class='flag-5'>行為</b><b class='flag-5'>型</b>設計<b class='flag-5'>模式</b>在UVM中的應用

    迭代模式在UVM中的應用有哪些

    行為設計模式數(shù)量較多,上一篇介紹了模板模式策略模式,下面對迭代
    的頭像 發(fā)表于 08-14 17:15 ?835次閱讀
    迭代<b class='flag-5'>模式</b>在UVM中的應用有哪些

    什么是策略模式

    不同的場景,使用不同的策略進行處理。 優(yōu)點 算法可以自由切換。 避免使用多重條件判斷。 擴展性良好。 缺點 策略類會增多。 所有策略類都需要對外暴露。 使用場景 如果在一個系統(tǒng)里面有許多類,它們之間的區(qū)別僅在于它們的
    的頭像 發(fā)表于 10-08 14:15 ?3216次閱讀
    什么是<b class='flag-5'>策略</b><b class='flag-5'>模式</b>

    設計模式-策略模式

    ,不會影響到使用算法的客戶。策略模式屬性行為模式。 二、實際應用 業(yè)務場景:業(yè)務需要監(jiān)聽多種消息,將接收到的消息更新到同一個ES中,不同的消息類型使用不同的
    的頭像 發(fā)表于 01-08 13:47 ?315次閱讀
    設計<b class='flag-5'>模式</b>-<b class='flag-5'>策略</b><b class='flag-5'>模式</b>
    主站蜘蛛池模板: 欧美一区二区高清 | 天天色啪 | 福利一区二区在线观看 | 婷婷六月天激情 | 97成人资源 | 奇米影视四色7777 | 日本一卡二卡≡卡四卡精品 | 黄视频在线播放 | 婷婷99精品国产97久久综合 | 人人九九精 | 色涩在线 | 午夜看片网站 | 免费看欧美一级特黄a大片 免费看欧美一级特黄a大片一 | 久久综合色视频 | 国产三级网站在线观看 | 久久美女免费视频 | 午夜免费网站 | 91极品反差婊在线观看 | 一级特级aaa毛片 | 欧美视频图片 | 九九热精品视频在线播放 | 免费国产午夜在线观看 | 不卡中文字幕在线 | 九色97| 久久99热精品免费观看k影院 | 日本三级日产三级国产三级 | 精品午夜视频 | 藏经阁在线 | 在线成人精品国产区免费 | 国产一级片免费 | 人操人碰| 亚洲丰满熟妇毛片在线播放 | 亚欧人成精品免费观看 | 黄色激情小说视频 | 四虎影院.com | 天天干天 | 久久婷婷国产精品香蕉 | 天天做天天爱夜夜爽毛片毛片 | 亚洲一级毛片在线观播放 | 久久综合九色综合欧美播 | 亚洲一级色 |