Command pattern 的角色有:Command(抽象命令)、ConcreteCommand(具体命令) 、Invoker(传达命令者) 、receiver(接收命令者)Client(客户类,想当于测试类);

//代码如下:

package com.qls.commandPattern3;
/**背景介绍:
* 泗溪村大学生村官欧阳凤收到清溪乡政府的一份文件。此文件主要要求大力发展当地的乡村旅游,特别是
* 春季的油菜花旅游。
* 欧阳凤收到文件指示后,便召集全村村民在村委会向村民传达了清溪乡政府的发展乡村旅游的指示,希望能
* 得到广大群众的支持。
* 上面的情景抽象出来就是一个命令模式。
* 其中清溪乡政府的一份文件相当于Command,
* 发展乡村旅游相当于此文件中的一个具体命令相当于:ConcreteCommand
* 大学生村官欧阳凤相当于传达者(Invoker)
* 泗溪村的全体村民相当于接受者(Receiver)
* 而这个Client类,便相当于一个测试类。在命令模式成为Client角色(也就是客户角色)没有实质作用。
* @author 秦林森
*
*/
//定义清溪乡政府的文件:File。也就是命令模式中的Command接口
interface File{
void execute();//这份文件中要求做的事。
}
//定义这份文件中关于发展乡村旅游的具体命令。也就是命令模式中的ConcreteCommand类
class ConcreteFile implements File{

/**
* 定义文件的接受者Masses
*
*/
private Masses masses;
/**
* 定义以masses为参数的构造方法
*/
public ConcreteFile(Masses masses) {
this.masses = masses;
}
@Override
public void execute() {
// TODO Auto-generated method stub
masses.action();
}

}
//定义大学生村官欧阳凤。也就是命令模式中的Invoker类
class Ouyangfeng{
/**
* 定义一个File的成员变量
*/
private File file;
/**
* 定义一个以file为变量的构造方法。
* @param file
*/
public Ouyangfeng(File file) {
this.file = file;
}
public void action(){
file.execute();
}
}
//定义广大的群众。也就是命令模式中的Receiver类
class Masses{
public Masses() {
// TODO Auto-generated constructor stub
}
public void action(){
System.out.println("坚决支持发展乡村旅游,支持村官欧阳凤");
}
}
//Client类,相当于命令模式中的Client类。
public class Client {

public static void main(String[] args) {
// TODO Auto-generated method stub
Masses masses=new Masses();
File file=new ConcreteFile(masses);
Ouyangfeng ouyangfeng=new Ouyangfeng(file);
ouyangfeng.action();
}

}/*
Output:
坚决支持发展乡村旅游,支持村官欧阳凤
*///:~

Command Pattern的简单介绍的更多相关文章

  1. [Design Pattern] Command Pattern 简单案例

    Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例. Stock 代表被操作的对象.Order ...

  2. WPF自学入门(十一)WPF MVVM模式Command命令 WPF自学入门(十)WPF MVVM简单介绍

    WPF自学入门(十一)WPF MVVM模式Command命令   在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式 ...

  3. shell语法简单介绍

    一.基本的语法 1.1.shell文件开头 shell文件必须以以下的行開始(必须方在文件的第一行):  #!/bin/sh  符号#!用来告诉系统它后面的參数是用来运行该文件的程序.在这个样例中我们 ...

  4. 设计模式 - 命令模式(command pattern) 具体解释

    命令模式(command pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 命令模式(command pattern) : 将请求封装成对 ...

  5. Tcl 简单介绍及特性

    [简单介绍|特性] l  简单介绍 Tcl是一门产生于80年代末的语言,和Python一样,她是用c开发出来的.假设说C/Java/C++/C#为编译型语言的话,那么Python.Perl和Tcl就是 ...

  6. Android 驱动(二) IIC简单介绍

    一. I2C简单介绍 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最基本的长处就是简单性 ...

  7. 乐在其中设计模式(C#) - 命令模式(Command Pattern)

    原文:乐在其中设计模式(C#) - 命令模式(Command Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 命令模式(Command Pattern) 作者:webabcd ...

  8. C#设计模式之十五命令模式(Command Pattern)【行为型】

    一.引言   今天我们开始讲"行为型"设计模式的第二个模式,该模式是[命令模式],又称为行动(Action)模式或交易(Transaction)模式,英文名称是:Command P ...

  9. Core文件简单介绍及生成设置方法

    Core文件简单介绍及生成设置方法 Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试.当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文 ...

随机推荐

  1. python错误处理之try...except...finally...错误处理机制。

    今天学习了python的错误处理. 在程序处理的过程中,经常会出现错误,一旦出错就会非常麻烦.所以有的高级语言通常都内置了一套  try...exept...finaly...的错误处理机制,pyth ...

  2. U盘装机记录

    U盘装机记录 1. 将U盘制作为启动盘(安装PE文件到U盘). (1)准备材料 8G以上U盘一个 一个可信的启动盘制作工具(这里是用的老毛桃) (2)将U盘插入电脑,单击老毛桃客户端(出现如下图所示的 ...

  3. 图解HTTP总结(3)——HTTP报文内的HTTP信息

    HTTP通信过程包括从客户端发往服务端的请求及从服务器端返回客户端的响应. 用于HTTP协议交互的信息被称为HTTP报文.客户端的HTTP报文叫做请求报文,服务器端的叫做响应报文.HTTP报文本身是多 ...

  4. python——内建模块instance的学习

    python中内建函数isinstance的用法 语法:isinstance(object,type) 作用:来判断一个对象是否是一个已知的类型. 其第一个参数(object)为对象,第二个参数(ty ...

  5. iar注释快捷键

    选中多行后注释快捷键:Ctrl+K 取消多行注释快捷键:Ctrl+Shift+K

  6. Android 热点相关操作

    Android未提供对该API的直接访问, 需要使用反射, 代码较简单, 如下 GetHotspotState.java package club.seliote.hotspotscanner.uti ...

  7. Java语言基础---变量与数据类型

    变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...

  8. springboot遇见问题总结

    今天开始学习创建springboot项目 问题1: 产生异常: 创建项目目录: demo代码: 代码Controller import org.springframework.web.bind.ann ...

  9. SpringMVC 集成 Freemarker 模板引擎

    本文通过 maven 项目中集成 1.引入 SpringMVC 与 Freemarker 需要的依赖 <!-- SpringMVC --> <dependency> <g ...

  10. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...