ITPub博客

首页 > 应用开发 > Java > 命令模式

命令模式

Java 作者:壹頁書 时间:2017-03-20 14:50:49 0 删除 编辑
http://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html



  1. public class Client {  
  2.     public static void main(String[] args) {  
  3.         // 创建接收者  
  4.         Receiver receiver = new Receiver();  
  5.         // 创建命令对象,设定它的接收者  
  6.         Command command = new ConcreteCommand(receiver);  
  7.         // 创建请求者,把命令对象设置进去  
  8.         Invoker invoker = new Invoker(command);  
  9.         // 执行方法  
  10.         invoker.action();  
  11.     }  
  12. }  
  13.   
  14. class Receiver {  
  15.     /** 
  16.      * 真正执行命令相应的操作 
  17.      */  
  18.     public void action() {  
  19.         System.out.println("执行操作");  
  20.     }  
  21. }  
  22.   
  23. interface Command {  
  24.     /** 
  25.      * 执行方法 
  26.      */  
  27.     void execute();  
  28. }  
  29.   
  30. class ConcreteCommand implements Command {  
  31.     // 持有相应的接收者对象  
  32.     private Receiver receiver = null;  
  33.   
  34.     /** 
  35.      * 构造方法 
  36.      */  
  37.     public ConcreteCommand(Receiver receiver) {  
  38.         this.receiver = receiver;  
  39.     }  
  40.   
  41.     @Override  
  42.     public void execute() {  
  43.         // 通常会转调接收者对象的相应方法,让接收者来真正执行功能  
  44.         receiver.action();  
  45.     }  
  46.   
  47. }  
  48.   
  49. class Invoker {  
  50.     /** 
  51.      * 持有命令对象 
  52.      */  
  53.     private Command command = null;  
  54.   
  55.     /** 
  56.      * 构造方法 
  57.      */  
  58.     public Invoker(Command command) {  
  59.         this.command = command;  
  60.     }  
  61.   
  62.     /** 
  63.      * 行动方法 
  64.      */  
  65.     public void action() {  
  66.   
  67.         command.execute();  
  68.     }  
  69. }  


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29254281/viewspace-2135676/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Thrift示例
下一篇: 观察者模式
请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    620
  • 访问量
    6339922