輕松掌握J(rèn)ava命令模式
定義:請(qǐng)求以命令的形式包裹在對(duì)象中,并傳給調(diào)用對(duì)象。調(diào)用對(duì)象尋找可以處理該命令的合適的對(duì)象,并把該命令傳給相應(yīng)的對(duì)象,該對(duì)象執(zhí)行命令。
特點(diǎn):
1、降低了系統(tǒng)耦合度。
2、新的命令可以很容易添加到系統(tǒng)中去。
企業(yè)級(jí)開發(fā)和常用框架中的應(yīng)用:事務(wù),struts的action控制器
實(shí)例:
public class Demo {
public static void main(String[] args) {
Reicever reicever = new Reicever();
Command command = new ActualCommand(reicever);
Invoker invoker = new Invoker();
invoker.addCommand(command);
invoker.call();
}
}
/**
* 命令真正的執(zhí)行者,對(duì)于不同的命令可能有不同的命令執(zhí)行者
*/
class Reicever{
public void action(){
System.out.println("Reicever.action()");
}
}
/**
* 命令接口,也為了后面統(tǒng)一后面的命令
*/
interface Command{
public void excute();
}
/**
* 實(shí)際命令對(duì)象,可能有很多不同的命令對(duì)象
*/
class ActualCommand implements Command{
private Reicever reicever;
public ActualCommand(Reicever reicever) {
this.reicever = reicever;
}
public void excute() {
reicever.action();
}
}
/**
* 命令發(fā)出者
*/
class Invoker{
private List<Command> commands = new ArrayList<>();
public void addCommand(Command command){
commands.add(command);
}
public void call(){
for(Command c:commands){
c.excute();
}
}
}
命令模式單獨(dú)是用的情況很少,一般都是和備忘錄模式組合是用。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java面向接口編程之簡單工廠模式示例
- 淺談Java面向接口編程
- 解析Java設(shè)計(jì)模式編程中命令模式的使用
- Java設(shè)計(jì)模式之命令模式(Command模式)介紹
- 詳解Java設(shè)計(jì)模式編程中命令模式的項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn)
- 23種設(shè)計(jì)模式(17)java命令模式
- 深入理解java三種工廠模式
- 代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法
- Java代碼重構(gòu)的幾種模式詳解
- Java中的觀察者模式實(shí)例講解
- Java面向接口編程之命令模式實(shí)例詳解
相關(guān)文章
Spring Web項(xiàng)目spring配置文件隨服務(wù)器啟動(dòng)時(shí)自動(dòng)加載
這篇文章主要介紹了Spring Web項(xiàng)目spring配置文件隨服務(wù)器啟動(dòng)時(shí)自動(dòng)加載,加載spring的配置文件,并且只加載一次,從而提高程序效率。具體內(nèi)容詳情大家通過本文一起學(xué)習(xí)吧2018-01-01
openFeign服務(wù)之間調(diào)用保持請(qǐng)求頭信息處理方式
這篇文章主要介紹了openFeign服務(wù)之間調(diào)用保持請(qǐng)求頭信息處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn)
有時(shí)候我們需要進(jìn)行初始化工作,就說明只要進(jìn)行一次的工作,本文主要介紹了SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn),感興趣的可以了解一下2023-12-12

