三、命令模式Commond(行为型模式)

来源:互联网 发布:泡泡交友软件 编辑:程序博客网 时间:2024/06/11 15:58

命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤销的操作。

package commond;import java.util.ArrayList;import java.util.List;publicclass CommondTest {}class MM {   String name;   public String getName() {      returnname;   }   publicvoid setName(String name) {      this.name = name;   }   publicvoid order(Boy b){      Command c=new Shopping();      b.addCommand(c);      c=new Hug();      b.addCommand(c);      b.executeCommands();   }}class Boy {   String name;   List<Command> commands=new ArrayList<Command>();   public String getName() {      returnname;   }   publicvoid executeCommands() {      for(Command c:commands){        c.execute();      }   }   publicvoid addCommand(Command c) {      commands.add(c);   }   publicvoid setName(String name) {      this.name = name;   }   publicvoid doSomething() {   }}abstractclass Command{   publicabstractvoid execute();   publicabstractvoid unDo();}class Shopping extends Command{   @Override   publicvoid execute() {      System.out.println("去购物");   }   @Override   publicvoid unDo() {      System.out.println("回家");   }}class Hug extends Command{   @Override   publicvoid execute() {      System.out.println("抱抱");   }   @Override   publicvoid unDo() {      System.out.println("走人");   }}


0 0
原创粉丝点击