(8)设计模式:Command

来源:互联网 发布:网络丢包率标准 编辑:程序博客网 时间:2024/06/09 22:43

设计模式:Command

package com.bjsxt.dp.command;import java.util.ArrayList;import java.util.List;public class Boy {private String name;private List<Command> commands = new ArrayList<Command>();public String getName() {return name;}public void setName(String name) {this.name = name;}public void pursue(MM mm) {}public void doSomeThing() {}public void addCommand(Command c1) {this.commands.add(c1);}public void executeCommands() {for(Command c : commands) {c.execute();}}public void undoCommands() {//}}

package com.bjsxt.dp.command;public abstract class Command {public abstract void execute();public abstract void unDo();}


package com.bjsxt.dp.command;public class HugCommand extends Command {@Overridepublic void execute() {System.out.println("hug");}@Overridepublic void unDo() {System.out.println("open your arms");}}

package com.bjsxt.dp.command;public class ShoppingCommand extends Command {@Overridepublic void execute() {System.out.println("zoo");}@Overridepublic void unDo() {System.out.println("undo zoo");}}


package com.bjsxt.dp.command;public class MM {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void order(Boy b) {Command c1 = new ShoppingCommand();b.addCommand(c1);Command c2 = new HugCommand();b.addCommand(c2);b.executeCommands();}}




0 0
原创粉丝点击