码迷,mamicode.com
首页 > 其他好文 > 详细

【GOF23设计模式】命令模式

时间:2016-08-24 14:40:23      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

来源:http://www.bjsxt.com/ 
一、【GOF23设计模式】_命令模式、数据库事务机制底层架构实现、撤销和回复

技术分享

技术分享

1 package com.test.command;
2 
3 public class Receiver {
4     public void action(){
5         System.out.println("Receiver.action()");
6     }
7 }
 1 package com.test.command;
 2 
 3 public interface Command {
 4     /**
 5      * 这个方法是一个返回结果为空的方法。
 6      * 实际项目中,可以根据需求设计多个不同的方法
 7      */
 8     void execute();
 9 }
10 
11 class ConcreteCommand implements Command{
12     private Receiver receiver;//命令的真正的执行者
13 
14     public ConcreteCommand(Receiver receiver) {
15         super();
16         this.receiver = receiver;
17     }
18 
19     @Override
20     public void execute() {
21         //命令真正执行前或后,可执行其它相关的处理
22         receiver.action();
23     }
24 }
 1 package com.test.command;
 2 /**
 3  * 调用者/发起者
 4  */
 5 public class Invoke {
 6     private Command command;//也可以通过容器List<Command>容纳很多命令对象,进行批处理。数据库底层的事务管理就是类似的结构!
 7 
 8     public Invoke(Command command) {
 9         super();
10         this.command = command;
11     }
12 
13     //业务方法,用于调用命令类的方法
14     public void call(){
15         //执行前或后,可执行其它相关的处理
16         command.execute();
17     }
18 }
 1 package com.test.command;
 2 
 3 public class Client {
 4     public static void main(String[] args) {
 5         Command c = new ConcreteCommand(new Receiver());
 6 
 7         Invoke i = new Invoke(c);
 8 
 9         i.call();
10 
11 //      new Receiver().action();
12     }
13 }

技术分享

技术分享

【GOF23设计模式】命令模式

标签:

原文地址:http://www.cnblogs.com/erbing/p/5802606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!