命令模式的定义:
命令模式是将一类对象的功能操作进行抽象,一般来说,这些对象有相同的方法,所以这类对象有着类似的操作,我们通过抽象,就可以定义出一个命令对象,通过这样的方式,用户程序在使用的时候,只与该命令对象打交道,而不用与一类对象打交道,降低了耦合性,提高了程序设计的灵活性。
类图如下:
Command:
定义命令的接口,声明执行的方法。
ConcreteCommand:
命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。
MakeDir:
接收者,真正执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求实现的相应功能。
RequestMakeDir:
要求命令对象执行请求,通常会持有命令对象,可以持有很多的命令对象。这个是客户端真正触发命令并要求命令执行相应操作的地方,也就是说相当于使用命令对象的入口。
命令模式的特点及使用场景
我们来分析下命令模式的使用场景吧,一般情况下如下几类场景中使用命令模式会达到很好的效果:
1、当一个应用程序调用者与多个目标对象之间存在调用关系时,并且目标对象之间的操作很类似的时候。
2、例如当一个目标对象内部的方法调用太复杂,或者内部的方法需要协作才能完成对象的某个特点操作时。
3、有时候调用者调用目标对象后,需要回调一些方法。
命令模式有如下的一些好处:
1:命令模式将调用者对象与接收对象解耦(调用与实现解耦)。调用者实现功能时只需调用Command接口的Execute方法。
2:具体的Commands对象是第一层对象,它们可以像其他对象一样被扩展或继承。
3:你可以将多个Commands对象聚合成一个组合命令。组合命令也是组合对象模式的一个实例,将命令排队也是其的一种特殊情况。
4:你可以很容易的添加新的命令,因为你并不需要修改现有的代码。这也符合了开闭原则
,对修改关闭,对扩展开放。
- 大小: 36.7 KB
分享到:
相关推荐
设计模式之命令模式,你值得拥有,帮你快速掌握命令模式的实例。
设计模式之命令模式 设计模式之命令模式代码 设计模式之命令模式代码
面向对象分析与设计 设计模式之命令模式 面向对象分析与设计 设计模式之命令模式
23种设计模式之命令模式对命令模式进行了简单的介绍,并附带了例子程序,和大家分享
文章:http://blog.csdn.net/hailushijie/article/details/8719772
设计模式这命令模式的Java实现版本和UML设计类图
设计模式-命令模式(讲解及其实现代码)
命令设计模式代码示例--用最简单的代码诠释命令设计模式
命令模式(Command) 用意:把一个请求封装到一个对象中,把发出命令和执行命令的责任分开,委派给不同的对象实现。
设计模式之命令模式详解(内附有例子,无源码),2个文件打包在一起上传
java设计模式之命令模式,通过实际生活例子说明命令模式的原理
设计模式C++学习之命令模式(Command)
设计模式专题之(十四)命令模式---设计模式命令模式示例代码(python--c++)
设计模式-命令模式,这里是《Head Fist 设计模式》一书中的练习
本系统基于六种设计模式,运用到的设计模式有备忘录模式,简单工厂模式,迭代器模式,状态模式,模版方法模式,单例模式。 具体实现过程、UML类图以及实现效果详见如下项目说明地址: ... 该系统为绘图系统,该系统通过...
设计模式—命令模式
设计模式--命令模式java例子