設計模式 命令模式

2021-10-10 08:05:16 字數 2392 閱讀 6932

案例

/**

* * @classname commandpattern

* @description 命令模式

* @author fuling

* @date 2023年11月7日 下午1:11:19

*/public

class

commandpattern

}/**

* * @classname command

* @description 命令介面,定義了兩個統一的對外介面方法

* @author fuling

* @date 2023年11月7日 下午1:14:16

*/inte***ce

command

/** *

* @classname lightreceiver

* @description 電燈類

* @author fuling

* @date 2023年11月7日 下午1:13:35

*/class

lightreceiver

//關燈操作

void

off()}

/** *

* @classname lightoncommand

* @description 開燈命令,將開燈命令和電燈繫結

* @author fuling

* @date 2023年11月7日 下午1:22:44

*/class

lightoncommand

implements

command

@override

public

void

undo()

}/**

* * @classname lightoffcommand

* @description 關燈命令,將關燈命令和電燈繫結

* @author fuling

* @date 2023年11月7日 下午1:24:45

*/class

lightoffcommand

implements

command

@override

public

void

undo()

}/**

* * @classname nocommand

* @description 空命令,作用是在呼叫者呼叫時可以省去空判斷

* @author fuling

* @date 2023年11月7日 下午1:26:27

*/class

nocommand

implements

command

@override

public

void

undo()

}/**

* * @classname remotecontroller

* @author fuling

* @date 2023年11月7日 下午2:19:23

*/class

remotecontroller

for(

int i =

0; i < offcommands.length; i++)}

//設定一組開關命令,index表示執行者的下標,oncommand是對應的開命令,offcommand是對應的關命令

void

setcommand

(int index, command oncommand, command offcommand)

//按下某個執行者的開按鈕(比如按下開燈按鈕)

void

pushon

(int index)

void

pushoff

(int index)

//撤回操作

void

undo()

}

命令模式小結

命令模式在spring框架中的應用

jdbctemplate類使用到了命令模式

statementcallback相當於命令介面

這些實現了命令介面的類同時也充當了接收者

jdbctemplate相當於呼叫者,其裡邊的execute方法,引數傳入了乙個命令介面,方法中呼叫該介面定義的統一方法doinstatement

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...

設計模式 命令模式

1 命令模式的角色組成 1 命令角色 command 生命執行操作的介面。介面或抽象類來實現。2 具體命令角色 concrete command 將乙個接收者物件繫結於乙個動作 呼叫接收者相應的操作,以實現命令角色宣告的執行操作的介面。3 客戶角色 client 建立乙個具體命令物件 並可以設定它的...

設計模式 命令模式

1 command.h ifndef command h define command h include include include using namespace std class chef 廚師,具體命令的執行者 class command 命令基類 class makemuttonco...