日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java命令模式返回值_JAVA 设计模式 命令模式

發布時間:2023/12/3 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java命令模式返回值_JAVA 设计模式 命令模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

用途

命令模式 (Command)

將一個請求

封裝為一個對象,從而使你可以用

不同的請求對客戶進行

參數化;

對請求排隊或請求日志,以及支持可撤銷的操作。

命令模式是一種行為型模式。

結構

圖-命令模式結構圖

Command: 用來聲明執行操作的接口。

abstract?class?Command?{

protected?Receiver?receiver;

public?Command(Receiver?receiver)?{

this.receiver?=?receiver;

}

public?abstract?void?Execute();

}

ConcreteCommand: 將一個接收者對象綁定一個動作,調用接收者相應的操作,以實現Execute。

class?ConcreteCommand?extends?Command?{

public?ConcreteCommand(Receiver?receiver)?{

super(receiver);

}

@Override

public?void?Execute()?{

receiver.Action();

}

}

Invoker: 要求該命令執行這個請求。

class?Invoker?{

private?Command?command;

public?Invoker(Command?command)?{

this.command?=?command;

}

public?void?ExecuteCommand()?{

command.Execute();

}

}

Receiver: 知道如何實施與執行一個與請求相關的操作,任何類都可能作為一個接收者。

class?Receiver?{

public?void?Action()?{

System.out.println("執行請求");

}

}

Client: 創建一個具體命令對象并設定它的接受者。

public?class?CommandPattern?{

public?static?void?main(String[]?args)?{

Receiver?receiver?=?new?Receiver();

Command?cmd?=?new?ConcreteCommand(receiver);

Invoker?invoker?=?new?Invoker(cmd);

invoker.ExecuteCommand();

}

}

交互

圖-命令模式交互圖

1、Client 創建一個 ConcreteCommand 對象并指定他的 Receiver 對象。

2、某個 Invoker 對象存儲該 ConcreteCommand 對象。

3、該 Invoker 通過調用 Command 對象的 Execute 操作來提交一個請求。若該命令是可撤銷的,ConcreteCommand 就在執行 Execute 操作之前存儲當前狀態以用于取消該命令。

4、ConcreteCommand 對象對調用它的 Receiver 的一些操作以執行該請求。

要點

1、命令模式的本質是對命令進行封裝,將發出命令的責任和執行命令的責任分割開。

2、每一個命令都是一個操作:請求的一方發出請求,要求執行一個操作;接收的一方收到請求,并執行操作。

3、命令模式允許請求的一方和接收的一方獨立開來,使得請求的一方不必知道接收請求的一方的接口,更不必知道請求是怎么被接收,以及操作是否被執行、何時被執行,以及是怎么被執行的。

4、命令模式使請求本身成為一個對象,這個對象和其他對象一樣可以被存儲和傳遞。

5、命令模式的關鍵在于引入了抽象命令接口,且發送者針對抽象命令接口編程,只有實現了抽象命令接口的具體命令才能與接收者相關聯。

推薦

參考資料

《大話設計模式》

《HeadFirst設計模式》

總結

以上是生活随笔為你收集整理的java命令模式返回值_JAVA 设计模式 命令模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。