讀書筆記18 命令模式

2021-09-03 10:41:46 字數 1653 閱讀 8781

1、定義:

將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行引數化;對請求排隊或記錄請求日誌,以及支援可撤消的操作。[gof 《設計模式》]

2、角色

command——用來執行操作的介面。

createcommand——將乙個接收者物件繫結乙個動作,並實現執行命令操作。

invoker——要求該命令執行。

receiver——知道如何實施與執行乙個與請求相關的操作,任何類都可作為乙個接收者。

3、模型

command

abstract class command                  abstract public void execute();      }
createcommand

class createcommand : command                  public override void execute()                }
receiver

class receiver            }
invoker

class invoker                  public void executecommand()                }
呼叫

static void main(string args)
結果:

命令模式模型**:

命令模式,很多個receiver,並與之對應command也有很多個,invoker則負責將receiver和command關聯,並執行。

應用模型:

abstract class command1                  abstract public void execute();      }            abstract class command2                  abstract public void execute();      }          class createcommand1 : command1                  public override void execute()                }          class createcommand2 : command2                  public override void execute()                }          class invoker                  public void executecommand1()                      public void setcommand2(command2 command)                      public void executecommand2()                }          class receiver1            }          class receiver2            }
呼叫

static void main(string args)
結果:

應用**:

讀書筆記18 命令模式

1 定義 將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行引數化 對請求排隊或記錄請求日誌,以及支援可撤消的操作。gof 設計模式 2 角色 command 用來執行操作的介面。createcommand 將乙個接收者物件繫結乙個動作,並實現執行命令操作。invoker 要求該命令執行。r...

遊戲設計模式讀書筆記 命令模式

使你可用不同的請求對客戶進行引數化 對請求排隊或者記錄請求日誌 支援可撤銷的操作。如果有undo的需求時採用模擬較好,反之可以考慮delegate。如果你的方法中使用了很多的共享的資料,你考慮使用享元模式時應該使用類,如果你的execute方法還呼叫了父類的方法,需要使用沙盒模式時應該考慮使用類。可...

《http權威指南》讀書筆記18

最近對http很感興趣,於是開始看 http權威指南 別人都說這本書有點老了,而且內容太多。我個人覺得這本書寫的太好了,非常長知識,讓你知道關於http的很多概念,不僅告訴你怎麼做,還告訴你為什麼這麼做。於是我把學到的知識點記錄下來,供以後開發時參考,相信對其他人也有用。1.http應用程式總是要做...