Command命令模式是将发出命令的责任和接受命令的责任以及命令三者之间分开,通过分离后委派给不同的对象方便扩展。主要涉及到的对象有:请求者,命令,接收者。
如:长官命令士兵跑步、唱歌。
长官是命令发出者(Offiecer)
士兵是命令接收者(Soldier)
跑步,唱歌是具体命令(Command)
package com.wayne.command; public abstract class Command { public abstract void execute(); } package com.wayne.command; public class SingCommand extends Command { private Soldier soldier; public SingCommand(Soldier soldier) { this.soldier = soldier; } @Override public void execute() { soldier.action(); } } package com.wayne.command; public class RunCommand extends Command { private Soldier soldier ; public RunCommand(Soldier soldier){ this.soldier = soldier; } @Override public void execute() { soldier.action(); } } package com.wayne.command; public class Officer { private Command command; public Officer(Command command) { this.command = command; } public void order() { command.execute(); } } package com.wayne.command; public class Soldier { public Soldier() { } public void action() { System.out.println("execute command....."); } } package com.wayne.command; public class Client { public static void main(String args[]) { Soldier soldier = new Soldier(); Command command = new RunCommand(soldier); Command command2 = new SingCommand(soldier); // 不同的长官给同一个士兵发送不同的命令 Officer officer = new Officer(command); Officer officer2 = new Officer(command2); officer.order(); officer2.order(); } }
相关推荐
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) ...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) ...
第9章 观察者(observer)模式 72 第10章 调停者(mediator)模式 85 第11章 代理(proxy)模式 97 第12章 职责链(chain of responsibility)模式 115 第13章 享元(flyweight)模式 122 第14章 构造型模式介绍 130 第15章 ...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) ...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) ...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) ...
第9章 适配器模式(Adapter) 9.1 模式解说 9.2 结构和用法 9.2.1 类的适配器模式 9.2.2 对象的适配器模式 9.2.3 问题讨论 9.3 范例与实践 9.3.1 用适配器模式包装第三方API的范例 9.3.2 范例小结 第10章 ...
第9章 适配器模式(Adapter) 9.1 模式解说 9.2 结构和用法 9.2.1 类的适配器模式 9.2.2 对象的适配器模式 9.2.3 问题讨论 9.3 范例与实践 9.3.1 用适配器模式包装第三方API的范例 9.3.2 范例小结 ...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式...
第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式...
1. **Command模式**:在2009年的题目中,提到架构师决定采用Command模式来实现公告板系统的界面显示部分。Command模式主要用于封装请求,将请求作为一个对象,使得参数化对象调用不同的方法成为可能,同时也支持撤销...
9. **抽象工厂模式(Abstract Factory)**:抽象工厂模式提供一个创建对象族的接口,但不指定具体的产品类。2011年的题目提到了限制用户在聊天系统中的不当言论,可以使用责任链模式来实现关键词过滤的灵活性,但...
第9章模板方法模式(TEMPLATE METHOD PATTERN):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 第10章建造者模式(BUILDER PATTERN)...
第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有...
第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有...
第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有...
第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有...
第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有...