<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      狀態(tài)機(jī)在C#上位機(jī)中使用總結(jié)

      本以為狀態(tài)機(jī)是很高深的知識(shí),沒(méi)想到在平時(shí)項(xiàng)目中早就用到了。雖然只是最簡(jiǎn)單的使用,但邏輯是相同的,于是就學(xué)習(xí)了一下?tīng)顟B(tài)模式的寫(xiě)法,方便以后在復(fù)雜的項(xiàng)目中使用。
      ?基本概念

      1. 狀態(tài)(State)??:系統(tǒng)在特定時(shí)刻所處的狀況或模式
        例如上位機(jī)的"停止"、"運(yùn)行"、"暫停"、"緊急停止"等狀態(tài)
      2. ?事件(Event)??:觸發(fā)狀態(tài)轉(zhuǎn)換的輸入或動(dòng)作
        例如"啟動(dòng)按鈕按下"、"停止信號(hào)接收"、"急停觸發(fā)"等
      3. ?轉(zhuǎn)移(Transition)??:從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的變化
        通常由事件觸發(fā),可能伴隨特定條件
      4. ?動(dòng)作(Action)??:狀態(tài)轉(zhuǎn)換時(shí)執(zhí)行的操作
        例如"進(jìn)入運(yùn)行狀態(tài)時(shí)啟動(dòng)電機(jī)"、"進(jìn)入急停狀態(tài)時(shí)切斷電源"

      只要符合這四個(gè)概念就是狀態(tài)機(jī),最簡(jiǎn)單的就是權(quán)限管理的功能了,軟件上有不同的賬戶,然后不同的賬戶有不同的權(quán)限功能(狀態(tài))。不同的權(quán)限對(duì)應(yīng)的能執(zhí)行的操作不同,比如管理員可以修改參數(shù),操作員不可以(動(dòng)作)。賬戶登錄界面可以切換不同的賬戶登錄(事件)。只有輸入正確的密碼才可以登錄不同的賬戶(轉(zhuǎn)移)。這個(gè)狀態(tài)機(jī)完全可以使用if-else語(yǔ)句來(lái)進(jìn)行判斷實(shí)現(xiàn),建立一個(gè)枚舉來(lái)存儲(chǔ)不同的賬戶類(lèi)型,然后一個(gè)變量存儲(chǔ)著當(dāng)前的賬戶狀態(tài),登錄時(shí)進(jìn)行密碼和賬戶名判斷,如果正確切換不同的賬戶。如果是簡(jiǎn)單的狀態(tài)機(jī)完全可以使用這種方法的,只有3-5個(gè)簡(jiǎn)單狀態(tài)、狀態(tài)轉(zhuǎn)換邏輯非常直接、沒(méi)有復(fù)雜的嵌套子狀態(tài)。這個(gè)方法就是對(duì)應(yīng)這類(lèi)項(xiàng)目最好的解決方案。

      除此之外的一些實(shí)現(xiàn)方式

      實(shí)現(xiàn)方式 優(yōu)點(diǎn) 缺點(diǎn) 適用場(chǎng)景
      條件語(yǔ)句(if-else) 簡(jiǎn)單直觀 狀態(tài)多時(shí)代碼臃腫難維護(hù) 簡(jiǎn)單狀態(tài)機(jī)(3-5個(gè)狀態(tài))
      狀態(tài)模式 符合開(kāi)閉原則,易于擴(kuò)展 需要?jiǎng)?chuàng)建多個(gè)狀態(tài)類(lèi) 復(fù)雜狀態(tài)機(jī),需要長(zhǎng)期維護(hù)
      狀態(tài)表驅(qū)動(dòng) 數(shù)據(jù)驅(qū)動(dòng),修改靈活 初期設(shè)計(jì)復(fù)雜 狀態(tài)轉(zhuǎn)換規(guī)則頻繁變化
      專(zhuān)用框架 功能強(qiáng)大,支持復(fù)雜特性 學(xué)習(xí)成本高 企業(yè)級(jí)復(fù)雜系統(tǒng)

      狀態(tài)模式
      //接口
      interface 狀態(tài)接口
      要實(shí)現(xiàn)的操作1、2、3

      //具體的狀態(tài)
      class 狀態(tài)1:狀態(tài)接口
      操作實(shí)現(xiàn)
      class 狀態(tài)2:狀態(tài)接口
      操作實(shí)現(xiàn)...

      //調(diào)度類(lèi)、上下文類(lèi)
      class 控制
      接口實(shí)例
      當(dāng)前狀態(tài)
      切換狀態(tài)1
      切換狀態(tài)2...

      狀態(tài)模式的出現(xiàn)也是為了解耦,更容易添加新?tīng)顟B(tài),在狀態(tài)大于五個(gè)并且出現(xiàn)層次嵌套的時(shí)候可以使用狀態(tài)模式來(lái)實(shí)現(xiàn)。
      無(wú)論如何要遵循的設(shè)計(jì)模式其實(shí)只有一個(gè),一切應(yīng)盡可能簡(jiǎn)單,但不過(guò)分簡(jiǎn)單。沒(méi)有復(fù)雜度就不要復(fù)雜解,不要為了設(shè)計(jì)模式而去設(shè)計(jì)模式,代碼只需要易懂、易改、安全就可以了

      posted @ 2025-06-16 18:41  悲傷的攻城獅  閱讀(175)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久波多野结衣av| 日本精品人妻无码77777| 国产成人亚洲综合图区| 精品国产AV无码一区二区三区| 国产福利在线观看免费第一福利| 青神县| 粉嫩一区二区三区精品视频| 一区二区不卡国产精品| 免费A级毛片樱桃视频| 女女互揉吃奶揉到高潮视频| 中文国产成人精品久久不卡| av无码精品一区二区三区| 四虎成人在线观看免费| 人人妻人人插视频| 日韩精品亚洲精品第一页| 色综合夜夜嗨亚洲一二区| 狂躁女人双腿流白色液体| 进贤县| 色综合视频一区二区三区| 亚洲成人av综合一区| 国产视频最新| 中文字幕制服国产精品| 黑人大战欲求不满人妻| 久久精品国产88精品久久| 国模无吗一区二区二区视频| 中文字幕日本一区二区在线观看| 日本黄页网站免费观看| 在线精品另类自拍视频| h动态图男女啪啪27报gif| 久久大香萑太香蕉av黄软件| 激情四射激情五月综合网| 国产成人午夜在线视频极速观看 | 国产精品高清一区二区三区不卡 | 国产色悠悠在线免费观看| 国厂精品114福利电影免费| 久久天天躁夜夜躁一区| 苍井空毛片精品久久久| 国产av熟女一区二区三区| 91人妻熟妇在线视频| 人妻性奴波多野结衣无码| 人妻中文字幕精品系列|