- 浏览: 79987 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hanlingbo2008:
问题:
空中巴士(airbus)、波音(Boeing)、麦道 ...
桥梁(Bridge)模式 -
hanlingbo2008:
从Enueration到Iterator的适配
publ ...
适配器模式(Adapter) -
hanlingbo2008:
从Iterator到Enueration的适配
publ ...
适配器模式(Adapter)
命令(Command)模式例子2 -------- AudioPlayer系统
系统描述: 小女孩julia有一个盒式录音机,有播音play,倒带rewind,停止stop功能。julia不需要知道命令的执行细节,只需要知道在键盘上按下什么键就可以了。 用命令模式来模拟。
代码:
/** * This class plays the role of Abstract Command */ public interface Command { public abstract void execute ( ); }
/** * This class plays the role of Concrete Command */ public class PlayCommand implements Command { private AudioPlayer myAudio; public PlayCommand ( AudioPlayer a) { myAudio = a; } public void execute( ) { myAudio.play(); } }
/** * This class plays the role of Concrete Command */ public class RewindCommand implements Command { private AudioPlayer myAudio; public RewindCommand ( AudioPlayer a) { myAudio = a; } public void execute() { myAudio.rewind(); } }
/** * This class plays the role of Concrete Command */ public class StopCommand implements Command { /** * @directed */ private AudioPlayer myAudio; public StopCommand ( AudioPlayer a) { myAudio = a; } public void execute( ) { myAudio.stop(); } }
/** * This is the Invoker role */ public class Keypad { /** * @link aggregation */ private Command playCmd; /** * @link aggregation */ private Command rewindCmd; /** * @link aggregation */ private Command stopCmd; public Keypad(Command play, Command stop, Command rewind) { // concrete Command registers itself with the invoker playCmd = play; stopCmd = stop; rewindCmd = rewind; } public void play() { playCmd.execute(); } public void stop() { stopCmd.execute(); } public void rewind() { rewindCmd.execute(); } }
/** * This class plays the role of Receiver */ public class AudioPlayer { public void play( ) { System.out.println("Playing..."); } public void rewind( ) { System.out.println("Rewinding..."); } public void stop() { System.out.println("Stopped."); } }
/** * This is the Client role */ public class Julia { /** * @link aggregation */ private static Keypad keypad ; /** * @link aggregation */ private static AudioPlayer myAudio = new AudioPlayer(); public static void main(String[] args) { test1(); } private static void test1() { Command play = new PlayCommand(myAudio); Command stop = new StopCommand(myAudio); Command rewind = new RewindCommand(myAudio); keypad = new Keypad(play, stop, rewind); keypad.play(); keypad.stop(); keypad.rewind(); keypad.stop(); keypad.play(); keypad.stop(); } }
发表评论
-
java.io包学习1
2008-11-27 10:23 1181转自:http://www.blogjava.net/cher ... -
java.io包学习
2008-11-27 10:22 12831. java.io 包中定义了多个流类型来实现输入和输出功 ... -
15、装饰模式(Decorator)
2008-11-25 11:57 720装饰模式(Decorator)使用原来被装饰的类的一个子类的实 ... -
14.1、安全合成模式和透明合成模式
2008-11-25 11:33 832安全合成模式代码: public interface Comp ... -
14. 合成模式(composite)
2008-11-25 11:27 1086合成模式(composite)把部分和整体的关系用树结构表示出 ... -
java八种基本类型
2008-11-24 11:55 5777Java语言提供了八种基本类型。六种数字类型(四个整数型,两个 ... -
命令模式(Command)例子2增加宏命令
2008-11-23 12:00 1209命令模式(Command)例子2增加宏命令 为julia的 ... -
java内的命令(Command)模式例子
2008-11-23 11:17 1545命令模式例子------创世纪系统 系统开始时,世界是个黑 ... -
命令(Command)模式
2008-11-23 10:59 94513、命令(Command)模式 命令模式( ... -
JDOM对xml文件的读写API
2008-11-18 11:05 1448根据jdom自带的例子总结 1. org.jdom.in ... -
JDOM对xml文件的读写
2008-11-18 10:19 20651. 读取例子 xml文件代码 <?xml ve ... -
java语言对观察者模式的支持
2008-11-17 17:32 82412.1 java语言对观察者模式的支持 ... -
Java Reflection API 简介
2008-11-16 12:40 1451在JDK中,主要由以下类来实现Java反射机制,这些类都位于j ... -
Java 语言的反射机制
2008-11-16 12:22 675在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属 ... -
模板方法模式中的方法
2008-11-15 22:50 74111.2 、模板方法模式中的方法 基本方法: 抽象方 ... -
模板方法模式的一个例子
2008-11-15 22:34 111911.1 模板方法例子 考虑一个银行存款例子 ... -
模板(Template Method)方法模式
2008-11-15 22:11 91411、模板(Template Method)方法模式 ... -
不变(Immutable)模式
2008-11-15 21:44 80410、不变(Immutable)模式 定义: ... -
桥梁(Bridge)模式
2008-11-15 13:01 10329、桥梁(Bridge)模式 桥梁模式的结构 ... -
门面模式(Facade)
2008-11-15 12:21 11138、门面模式(Facade) 门面角色(Facade): 供 ...
相关推荐
用最简单的例子理解命令模式(Command Pattern) 命令模式的需求源自想通过一个指令(比如这里IControl的Execute方法)来控制多个类的多个方法,包含了几个要素: 1、命令:让类的各种方法抽象成类实现一个接口 2、...
主要介绍了C#命令模式(Command Pattern),以实例的形式讲述了命令模式通过一个指令来控制多个类的多个方法,需要的朋友可以参考下
一、 命令(Command)模式 168 二、 命令模式的结构 168 三、 命令模式的示意性源代码 169 四、 玉帝传美猴王上天 172 五、 命令模式的实现 172 六、 命令模式的实际应用案例 173 七、 在什么情况下应当使用命令模式...
一、 命令(Command)模式 二、 命令模式的结构 三、 命令模式的示意性源代码 四、 玉帝传美猴王上天 五、 命令模式的实现 六、 命令模式的实际应用案例 七、 在什么情况下应当使用命令模式 八、 使用命令...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
ng-command可让您编写仅在执行期间执行一次以及是否满足canExecute命令。 例子 var app = angular . module ( 'commandLab' , [ 'ng-command' ] ) . controller ( 'CommandExampleCtrl' , [ '$command' , '$scope...
例子父实体类音响public class Stereo {命令接口public interface Command {具体命令空命令public class N
命令模式示例项目这个项目是命令模式的一个例子。 该项目还演示了模型-视图-控制器模式的使用。目标以某种形式使用命令模式在这个项目中; 命令模式用于模拟绘制程序。 重做示例由于项目模拟了一个绘制程序,每个...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
com.javapatterns.command 命令模式 com.javapatterns.command.swingundo 专题:Swing库中的命令撤销和恢复 com.javapatterns.composite 合成模式 com.javapatterns.decorator 装饰模式 com.javapatterns.dip ...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
5.2CommandPattern(命令模式) 179 5.2.1定义 179 5.2.2现实中的实例——餐馆订菜 180 5.2.3C#实例——简单计算器 181 5.2.4Java实例——总开关 185 5.2.5优势和缺陷 189 5.2.6应用情景 189 5.3Interpreter...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
5.2CommandPattern(命令模式) 179 5.2.1定义 179 5.2.2现实中的实例——餐馆订菜 180 5.2.3C#实例——简单计算器 181 5.2.4Java实例——总开关 185 5.2.5优势和缺陷 189 5.2.6应用情景 189 5.3Interpreter...
例 1-2 source命令的简单例子 3 例 2-1 输出一个词的例子 5 例 2-2 参数定义、赋值与参数值引用 5 例 2-3 嵌套$用做替换操作. 6 例 2-4 命令替换[]的例子 6 例 2-5 {}替换的例子.. 6 例 2-6 \的例子.7 例 2-7...