命令模式:允许将发出请求的对象和接受并执行这些请求的对象分割开来,即实现请求调用者和请求接受者之间的解耦。定义:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。
调用命令的是Invoker,执行命令的实际上是Receiver。通过命令模式,将各种动作封装成Command,实现了Invoker和Receiver的彻底解耦。Invoker只管发出命令,Receiver只管执行相应的操作。
public interface Command { public void execute(); }
public class Dog { public void foundBone() { System.out.println("找骨头~~"); } public void bark() { System.out.println("汪汪~~"); } public void sing() { System.out.println("狗狗在唱歌~~"); } }
public class DogBarkCommand implements Command{ private Dog dog; public DogBarkCommand(Dog dog) { this.dog = dog; } @Override public void execute() { dog.bark(); } }
public class DogFoundBoneCommand implements Command { private Dog dog; public DogFoundBoneCommand(Dog dog) { this.dog = dog; } @Override public void execute() { dog.foundBone(); } }
public class DogSingCommand implements Command{ private Dog dog; public DogSingCommand(Dog dog) { this.dog = dog; } @Override public void execute() { this.dog.sing(); } }
public class Invoker { Command command; public void setCommand(Command command) { this.command = command; } public void invoke() { this.command.execute(); } }
public class Test { public static void main(String args[]) { Dog dog = new Dog(); Command barkcommand = new DogBarkCommand(dog); Invoker invoker = new Invoker(); invoker.setCommand(barkcommand); invoker.invoke(); } }
相关推荐
1.1 《Head First设计模式》阅读笔记.第一章 1.2 《Head First设计模式》阅读笔记.第二章 1.3 《Head First设计模式》阅读笔记.第三章 1.4 《Head First设计模式》阅读笔记.第四章 1.5 《Head First设计模式》...
笔记_HeadFirst设计模式
HeadFirst设计模式学习笔记比较全面详细地讲解了13个设计模式,有利于大家更好的学习HeadFirst设计模式,希望亲们会喜欢~~~
Head First 设计模式学习笔记。更多内容请参见文章内容。
HeadFirst设计模式 读书 笔记
HeadFirst 设计模式学习笔记3--装饰模式 Demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5582561.aspx
HeadFirst 设计模式学习笔记2--观察者模式 demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5581769.aspx
http://blog.csdn.net/laszloyu/archive/2010/05/11/5579765.aspx 示例代码
Head First设计模式读书笔记-DesignPatterns
Head.First 设计模式学习笔记.pdf Head.First 设计模式学习笔记.pdf
NULL 博文链接:https://never-say-never.iteye.com/blog/851923
NULL 博文链接:https://zhangfy068.iteye.com/blog/1706132
著名的《Head First Design ...由于书本过长,整理出笔记帮助回想起设计模式。文件是docx格式,只能由OFFICE Word 2007之后的版本打开,内附Visio类图文件。本文由个人整理摘录,部分内容来自书本,仅供学习使用。
NULL 博文链接:https://chxiaowu.iteye.com/blog/1276845
趣味的移动开发讲解讲解,类似个人笔记,非常容易懂的,有好多勾画图
headfirst 设计模式读书笔记 书很好,浅显易懂,例子生动,适合初学者
设计模式Head First学习笔记,以及使用java编写的设计模式源码,Java原生sdk实现23种设计模式
java原始中的设计模式 Gof设计模式 一个Android应用程序,该应用程序演示了以下来源的GoF设计模式的源代码: E.Freeman,E.Freeman,K.Sierra,B.Bates的书:copyright:O'Reilly 2004 布莱恩·汉森(Bryan Hansen),...