設計模式 命令模式 二

2021-08-08 10:46:19 字數 1717 閱讀 8026

詳細示例:(遙控開關燈)

package command;

public

class

light

public

void

on()

public

void

off()

}package command;

/** * 命令介面 執行開關方法 撤銷方法

* */

public

inte***ce

command

package command;

/** * 開燈

* */

public

class

lightoncommand

implements

command

@override

public

void

execute()

@override

public

void

undo()

}package command;

/** * 關燈

* */

public

class

lightoffcommand

implements

command

@override

public

void

execute()

@override

public

void

undo()

}package command;

/** * 用於初始化

* */

public

class

nocommand

implements

command

@override

public

void

undo()

}package command;

/** * 命令的發布者 遙控機(擁有記錄操作過的命令的功能)

* */

public

class

remotecontrolwithundo

undocommand = nocommand;

}public

void

setcommand(int slot, command oncommand, command offcommand)

// 執行並記錄命令

public

void

onbuttonwaspushed(int slot)

public

void

offbuttonwaspushed(int slot)

public

void

undobuttonwaspushed()

}package command;

public

class

client

}

執行結果:

開燈..

關燈…

command.remotecontrolwithundo@15db9742

開燈..

關燈…

開燈..

command.remotecontrolwithundo@15db9742

關燈…

設計模式 命令設計模式

一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象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...