發表文章

目前顯示的是 一月, 2018的文章

Command Pattern

圖片
1. 命令模式
1.1. 模式動機在軟件設計中,我們經常需要向某些對象發送請求,但是並不知道請求的接收者是誰,也不知道被請求的操作是哪個,我們只需在程序運行時指定具體的請求接收者即可,此時,可以使用命令模式來進行設計,使得請求發送者與請求接收者消除彼此之間的耦合,讓對象之間的調用關係更加靈活。 命令模式可以對發送者和接收者完全解耦,發送者與接收者之間沒有直接引用關係,發送請求的對像只需要知道如何發送請求,而不必知道如何完成請求。這就是命令模式的模式動機。
1.2. 模式定義命令模式(Command Pattern):將一個請求封裝為一個對象,從而使我們可用不同的請求對客戶進行參數化;對請求排隊或者記錄請求日誌,以及支持可撤銷的操作。命令模式是一種對象行為型模式,其別名為動作(Action)模式或事務(Transaction)模式。
1.3. 模式結構命令模式包含如下角色: Command: 抽象命令類ConcreteCommand: 具體命令類Invoker: 調用者Receiver: 接收者Client:客戶類