99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計(jì)模式行為型:狀態(tài)模式

冬至子 ? 來(lái)源:碼農(nóng)架構(gòu) ? 作者:小智 ? 2023-06-07 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在狀態(tài)模式(State Pattern)中,類的行為是基于它的狀態(tài)改變的。這種類型的設(shè)計(jì)模式屬于行為型模式。

在狀態(tài)模式中,我們創(chuàng)建表示各種狀態(tài)的對(duì)象和一個(gè)行為隨著狀態(tài)對(duì)象改變而改變的 context 對(duì)象。

對(duì)象的行為依賴于它的狀態(tài)(屬性),并且可以根據(jù)它的狀態(tài)改變而改變它的相關(guān)行為。

結(jié)構(gòu)圖

圖片

結(jié)角色與理解

  • 狀態(tài)模式共分為三種角色:
  • Context(上下文環(huán)境):將自身的狀態(tài)與行為分離出去,封裝成狀態(tài)類,持有抽象狀態(tài)類的引用,根據(jù)自身屬性變換更換具體狀態(tài)類。
  • State(抽象狀態(tài)類):具體狀態(tài)類的抽象,可以持有上下文環(huán)境的引用來(lái)更換狀態(tài)。
  • Concrete State(具體狀態(tài)類):實(shí)現(xiàn)不同狀態(tài)下的不同行為。
  • 上下文環(huán)境引用抽象狀態(tài)類完成行為的調(diào)用,狀態(tài)類的狀態(tài)變化可以有上下文環(huán)境處理,也可以由狀態(tài)類處理。
  • 狀態(tài)類可以共享,像開(kāi)關(guān)對(duì)象一樣,可以被多個(gè)上下文環(huán)境引用。

核心代碼

抽象狀態(tài)類

圖片

具體狀態(tài)類

圖片

狀態(tài)類

圖片

客戶端

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28232
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    用C語(yǔ)言實(shí)現(xiàn)狀態(tài)機(jī)設(shè)計(jì)模式

    狀態(tài)機(jī)模式是一種行為模式,在《設(shè)計(jì)模式》這本書中對(duì)其有詳細(xì)的描述,通過(guò)多態(tài)實(shí)現(xiàn)不同狀態(tài)的調(diào)轉(zhuǎn)
    發(fā)表于 12-14 13:38 ?3013次閱讀

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    。 1. 狀態(tài)模式 狀態(tài)模式的定義如下: 狀態(tài)模式 (State Pattern)是一種
    的頭像 發(fā)表于 06-25 14:21 ?1306次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)</b>機(jī)

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

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

    上網(wǎng)行為管理新模式

    上網(wǎng)行為管理新模式 談起多角色管理劃分,首先讓人想起的是企業(yè)管理架構(gòu)。從管理層面上來(lái)講,角色管理劃分非常重要,企業(yè)管理者需要通過(guò)“
    發(fā)表于 04-09 09:41 ?513次閱讀

    設(shè)計(jì)模式:備忘錄設(shè)計(jì)模式

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

    設(shè)計(jì)模式:訪問(wèn)者設(shè)計(jì)模式

    訪問(wèn)者設(shè)計(jì)模式是一種行為設(shè)計(jì)模式,用于將算法與對(duì)象結(jié)構(gòu)分離。它允許你在不改變對(duì)象結(jié)構(gòu)的前提下定義新的操作。
    的頭像 發(fā)表于 06-06 11:25 ?1155次閱讀

    設(shè)計(jì)模式行為:中介模式

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

    設(shè)計(jì)模式行為:備忘錄模式

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

    設(shè)計(jì)模式行為:策略模式

    在策略模式(Strategy Pattern)中,一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改。這種類型的設(shè)計(jì)模式屬于行為模式。
    的頭像 發(fā)表于 06-07 11:18 ?876次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>行為</b><b class='flag-5'>型</b>:策略<b class='flag-5'>模式</b>

    設(shè)計(jì)模式行為:訪問(wèn)者模式

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

    設(shè)計(jì)模式行為:模板方法模式

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

    設(shè)計(jì)模式行為:觀察者模式

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

    c語(yǔ)言設(shè)計(jì)模式--狀態(tài)模式(狀態(tài)機(jī))

    狀態(tài)模式(狀態(tài)機(jī))是嵌入式開(kāi)發(fā)中最重要、最核心的設(shè)計(jì)模式之一,毫不夸張的說(shuō),是否熟練掌握狀態(tài)模式
    的頭像 發(fā)表于 06-14 15:28 ?2481次閱讀
    c語(yǔ)言設(shè)計(jì)<b class='flag-5'>模式</b>--<b class='flag-5'>狀態(tài)</b><b class='flag-5'>模式</b>(<b class='flag-5'>狀態(tài)</b>機(jī))

    行為設(shè)計(jì)模式在UVM中的應(yīng)用

    接下來(lái)介紹行為設(shè)計(jì)模式在UVM中的應(yīng)用。
    的頭像 發(fā)表于 08-09 14:01 ?1029次閱讀
    <b class='flag-5'>行為</b><b class='flag-5'>型</b>設(shè)計(jì)<b class='flag-5'>模式</b>在UVM中的應(yīng)用

    噪聲的模式行為,區(qū)別Earth與Ground的重要性

    噪聲的模式行為,區(qū)別Earth與Ground的重要性
    的頭像 發(fā)表于 12-01 16:04 ?809次閱讀
    噪聲的<b class='flag-5'>模式</b>與<b class='flag-5'>行為</b>,區(qū)別Earth與Ground的重要性