設計模式之命令模式

2021-06-27 07:57:49 字數 1032 閱讀 4702



內容皆來自於聖思園

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

設計模式的構成:

1 客戶角色:建立乙個具體命令物件,並確定其接收者

2 命令角色:宣告乙個給所有具體命令類的抽象介面。這是乙個抽象角色,通常由乙個介面或抽象類實現

3 具體命令角色:定義乙個接收者和行為之間的弱耦合,實現execute方法,負責呼叫接收者的相應操作

4 請求者角色:負責呼叫命令物件執行請求。

5 接收者角色:負責具體實施和執行乙個請求

1、命令角色

package com.shengsiyuan.pattern.command;

public inte***ce command

2、接收者角色

package com.shengsiyuan.pattern.command;

public class receiver

}

3、 具體命令角色

package com.shengsiyuan.pattern.command;

public class concretecommand implements command

@override

public void execute()

}

4 請求者角色

package com.shengsiyuan.pattern.command;

public class invoker

public void doinvokeraction()

}

5、客戶角色

package com.shengsiyuan.pattern.command;

public class client

}

設計模式之命令設計模式

先來看一下命令模式的類圖 乍一看好像類很多,其實我們逐個分析他們。類圖中存在的類可以分為 invoker icommand conceretecommand receiver invoker類 上層直接調取invoker類 icommand 是對命令的抽象 conceretecommand 是命令的...

設計模式之命令模式

command pattern 將請求封裝成物件,這可以讓你使用不同的請求,佇列,或者是日誌請求來引數化其他物件,命令模式也可以支援撤銷操作。命令模式有兩種實現方式 1.在命令管理器中提供設定當前命令接受者的方法,當執行訊息或者是有訊息壓入的時候直接將命令傳送給當前設定的接受者。2.在命令管理器中建...

設計模式之命令模式

當我們有一台多功能的印表機,然後通過電腦直接進行任務,如圖 如果通過這樣的設計直接去呼叫多功能一體機的功能,就會存在此時此刻只能進行乙個任務,不允許有多個客戶端同時操作.那麼現在我們就需要考慮一種新的設計模式,叫做命令設計模式。命令設計模式 將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行...