女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

設計模式行為型:狀態模式

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

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

在狀態模式中,我們創建表示各種狀態的對象和一個行為隨著狀態對象改變而改變的 context 對象。

對象的行為依賴于它的狀態(屬性),并且可以根據它的狀態改變而改變它的相關行為。

結構圖

圖片

結角色與理解

  • 狀態模式共分為三種角色:
  • Context(上下文環境):將自身的狀態與行為分離出去,封裝成狀態類,持有抽象狀態類的引用,根據自身屬性變換更換具體狀態類。
  • State(抽象狀態類):具體狀態類的抽象,可以持有上下文環境的引用來更換狀態。
  • Concrete State(具體狀態類):實現不同狀態下的不同行為。
  • 上下文環境引用抽象狀態類完成行為的調用,狀態類的狀態變化可以有上下文環境處理,也可以由狀態類處理。
  • 狀態類可以共享,像開關對象一樣,可以被多個上下文環境引用。

核心代碼

抽象狀態類

圖片

具體狀態類

圖片

狀態類

圖片

客戶端

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 狀態機
    +關注

    關注

    2

    文章

    493

    瀏覽量

    28048
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    用C語言實現狀態機設計模式

    狀態模式是一種行為模式,在《設計模式》這本書中對其有詳細的描述,通過多態實現不同狀態的調轉
    發表于 12-14 13:38 ?2981次閱讀

    玩轉Spring狀態

    。 1. 狀態模式 狀態模式的定義如下: 狀態模式 (State Pattern)是一種
    的頭像 發表于 06-25 14:21 ?1247次閱讀
    玩轉Spring<b class='flag-5'>狀態</b>機

    基于入侵行為模式的告警關聯

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

    上網行為管理新模式

    上網行為管理新模式 談起多角色管理劃分,首先讓人想起的是企業管理架構。從管理層面上來講,角色管理劃分非常重要,企業管理者需要通過“
    發表于 04-09 09:41 ?481次閱讀

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

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

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

    訪問者設計模式是一種行為設計模式,用于將算法與對象結構分離。它允許你在不改變對象結構的前提下定義新的操作。
    的頭像 發表于 06-06 11:25 ?1058次閱讀

    設計模式行為:中介模式

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

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

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

    設計模式行為:策略模式

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

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

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

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

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

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

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

    c語言設計模式--狀態模式(狀態機)

    狀態模式(狀態機)是嵌入式開發中最重要、最核心的設計模式之一,毫不夸張的說,是否熟練掌握狀態模式
    的頭像 發表于 06-14 15:28 ?2243次閱讀
    c語言設計<b class='flag-5'>模式</b>--<b class='flag-5'>狀態</b><b class='flag-5'>模式</b>(<b class='flag-5'>狀態</b>機)

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

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

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

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