命令设计模式

来源:互联网 发布:win7桌面数字时钟软件 编辑:程序博客网 时间:2024/05/23 16:04

        命令设计模式是将命令的请求与命令的执行相分离。如餐厅的服务员它有菜单,里面有很多菜谱,这些相当于命令,供用户去点菜,但具体的每道菜,服务员是不需要知道的。

        waiter:接收命令,它拥有许多命令,表面看似它是“执行者”。
        baker:命令的真正执行者。
        command:命令接口,命令中有执行者,最终调用它来完成命令工作。

        看下面的一个例子,你就会明白:

         public interface ICommand {
                void Execute();
         }

        public class Baker {

public void dobeef(){

System.out.println("做牛肉。。。");

}

public void dosheef(){

System.out.println("做羊肉。。。");

}

        }

        public class BeefCommandImp implements ICommand{

Baker baker=new Baker();

@Override

public void Execute() {

baker.dobeef();

}

 }

       public class SheefCommandImp implements ICommand{

Baker baker=new Baker();

@Override

public void Execute() {

baker.dosheef();

}

        }

       public class Client {

public static void main(String[] args) {

        ICommand dobeef=new BeefCommandImp();

        ICommand dosheef=new SheefCommandImp();

        Waiter waiter=new Waiter();

        waiter.addcommand(dosheef);

        waiter.addcommand(dobeef);

        waiter.notifycommands();

}

       }

原创粉丝点击