<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 概述 亦稱:動作、事務、Action、Transaction、Command **命令模式**是一種行為設計模式,它可將請求轉換為一個包含與請求相關的所有信息的獨立對象。該轉換讓你能根據不同的請求將方法參數化、延遲請求執行或將其放入隊列中,且能實現可撤銷操作。 ## 命令模式結構 ![](https://img.kancloud.cn/fa/fa/fafa0803ed6192f408540c31097ac735_1260x740.png) 1. 發送者 (Sender)——亦稱 “觸發者 (Invoker)”——類負責對請求進行初始化, 其中必須包含一個成員變量來存儲對于命令對象的引用。 發送者觸發命令, 而不向接收者直接發送請求。 注意, 發送者并不負責創建命令對象: 它通常會通過構造函數從客戶端處獲得預先生成的命令。 2. 命令 (Command) 接口通常僅聲明一個執行命令的方法。 3. 具體命令 (Concrete Commands) 會實現各種類型的請求。 具體命令自身并不完成工作, 而是會將調用委派給一個業務邏輯對象。 但為了簡化代碼, 這些類可以進行合并。 4. 接收者 (Receiver) 類包含部分業務邏輯。 幾乎任何對象都可以作為接收者。 絕大部分命令只處理如何將請求傳遞到接收者的細節, 接收者自己會完成實際的工作。 5. 客戶端 (Client) 會創建并配置具體命令對象。 客戶端必須將包括接收者實體在內的所有請求參數傳遞給命令的構造函數。 此后, 生成的命令就可以與一個或多個發送者相關聯了。 ## 適合應用場景 - 如果你需要通過操作來參數化對象, 可使用命令模式。 - 如果你想要將操作放入隊列中、 操作的執行或者遠程執行操作, 可使用命令模式。 - 如果你想要實現操作回滾功能, 可使用命令模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看