命令模式

原创 2017年08月21日 00:28:36

命令模式就是将方法(运算业务逻辑代码)进行封装,并将该方法传递给执行者,执行者不关心所执行的命令(业务代码)是如何实现的。
java的线程池就是命令模式的一个体现。

1.示例deom说明
demo源码
demo中我使用的场景是遥控器要控制家里的电器设备。遥控器RemoteController的开关按钮只需要调用设置的命令的execute方法,而无需关注其如何实现。Command的实现类的execute方法实现了具体的业务代码,例如开灯、关灯等实际操作。

2.应用说明
命令模式在java线程池中是比较好的体现:

ExecutorService pool = Executors.newFixedThreadPool(10);
        for(int i=0;i<10;i++){
            pool.execute(new Runnable() {

                @Override
                public void run() {
                    //业务代码
                    System.out.println("");
                }
            });
        }

这里的Runnable接口跟Command接口一样,线程池execute(Runnable runnable)

这个模式是比较简单的,但在解耦方面的做用是显而易见的,命令模式一般会支持命令的撤回操作,这个如果在业务中碰到可以自己设计实现。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

设计模式讲解-命令

  • 2017年03月07日 09:16
  • 39KB
  • 下载

使用命令行模式启动VMWare虚拟机

转自:http://blog.csdn.net/deepnight2005/article/details/8842968 工作中使用到在centos中安装vmware Workst...

vim命令模式下使用

  • 2012年04月01日 17:46
  • 29KB
  • 下载

应用设计模式开发命令行交互程序

本文介绍了如何通过使用设计模式来优化命令行交互程序的开发。传统的命令行交互模式,不具备回退、跳转等功能,缺少用户交互的灵活性。本文通过几种设计模式的组合,实现了一个通用的轻量级的命令行交互程序的解决方...
  • wanglha
  • wanglha
  • 2015年07月08日 11:48
  • 787

Objective C 命令模式设计源码

  • 2012年08月15日 17:03
  • 54KB
  • 下载

PHP命令链模式

  • 2012年06月04日 09:47
  • 22KB
  • 下载

命令和查询责任分离(CQRS)架构模式

读了“蓝皮书”距今差不多一年,它改变了我的软件开发和构建软件架构观。在我作为一名程序员期间,我尝试了许多不同的方式来构建软件。方法有很多,包括一个贫血的域模型(Anemic Domain Mode...

命令模式_Command 游戏设计

  • 2017年08月10日 16:50
  • 45KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:命令模式
举报原因:
原因补充:

(最多只允许输入30个字)