首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式记录-命令模式

2013-03-01 
设计模式记录--命令模式/** **/package org.rico.pattern.demo.command/** * @author rico 2013-2-27 *

设计模式记录--命令模式
/** * */package org.rico.pattern.demo.command;/** * @author rico 2013-2-27 * 命令接口 */public interface Command {/** * 执行偷袭命令 */public void execute();/** * 取消命令 */public void undo();}

?

2、命令接口实现

/** *  */package org.rico.pattern.demo.command;/** * @author rico 2013-2-27 */public class ConcreteCommand implements Command {private Receiver receiver;public ConcreteCommand(Receiver receiver) {this.receiver = receiver;}/* 执行偷袭命令(non-Javadoc) * @see org.rico.pattern.demo.command.Command#execute() */@Overridepublic void execute() {receiver.execute();}/* 取消命令(non-Javadoc) * @see org.rico.pattern.demo.command.Command#undo() */@Overridepublic void undo() {receiver.undo();}}

?

3、接收者

/** *  */package org.rico.pattern.demo.command;/** * @author rico 2013-2-27 *  接收者 */public class Receiver {/** * 偷袭敌人 */public void execute() {System.out.println("偷袭敌人命令....");}/** * 取消偷袭敌人 */public void undo() {System.out.println("取消偷袭敌人命令....");}}

?

4、请求者

/** *  */package org.rico.pattern.demo.command;/** * @author rico 2013-2-27 * 请求者 */public class Invoker {private Command command;public Invoker(Command command) {this.command = command;}/** * 偷袭敌人 */public void execute() {command.execute();}/** * 取消偷袭 */public void undo() {command.undo();}}

?

5、命令模式测试

/** *  */package org.rico.pattern.demo.command;/** * @author rico 2013-2-27 *  */public class DemoTest {/** * @param args */public static void main(String[] args) {//定义接收者Receiver receiver = new Receiver();//定义命令Command command = new ConcreteCommand(receiver);//定义请求者Invoker invoker = new Invoker(command);invoker.execute();//偷袭敌人命令invoker.undo();//取消偷袭敌人命令}}

?

?

?

?

?

?

设计形式记录-命令模式

?

?

?

热点排行