您的位置:首页 > 其它

(8)设计模式:Command

2015-03-29 23:44 148 查看
设计模式: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 {

@Override
public void execute() {
System.out.println("hug");
}

@Override
public void unDo() {
System.out.println("open your arms");
}
}


package com.bjsxt.dp.command;

public class ShoppingCommand extends Command {

@Override
public void execute() {
System.out.println("zoo");
}

@Override
public 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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: