讀書筆記18 命令模式

2021-06-04 05:24:30 字數 1453 閱讀 3645

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應用程式總是要做...