`
wu_quanyin
  • 浏览: 208220 次
  • 性别: Icon_minigender_1
  • 来自: 福建省
社区版块
存档分类
最新评论

命令模式(Command)---笔记本

 
阅读更多

一,命令模式把一个请求或操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排 队或者记录请求日志,可以提供命令的撤消等操作

在命令模式的运用上,平时也没有怎么看到,查了些相应的资料,多以编辑器等操作命令进行操作最为实在...

调用者---命令---接收者

 

例子:

角色一,调用者

 

package com.wqy.command;
/**
 * 键盘为命令触发者
 * 
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 下午04:04:22
 */
public class KeyBoardInvoker {

	private OperateCommand operateCommand;
	public KeyBoardInvoker(OperateCommand operateCommand){
		this.operateCommand=operateCommand;
	}
	
	public void action(){
		operateCommand.execute();
	}
}

 

角色二,接收者

 

package com.wqy.command;
/**
 * 笔记本为接收者执行命令
 * 
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 下午04:09:41
 */
public class NoteReceiver {

	public void writer(){
		System.out.println("正在进行写操作。。。");
	}
	
	public void undo(){
		System.out.println("正在进行取消操作...");
	}
}
 

角色三,命令

 

 

package com.wqy.command;
/**
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 上午08:30:56
 */

public interface OperateCommand {

	public void execute();
}
 

 

package com.wqy.command;
/**
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 下午04:10:29
 */

public class UndoCommand implements OperateCommand {

	private NoteReceiver receiver;
	public UndoCommand(NoteReceiver receiver){
		this.receiver=receiver;
	}
	@Override
	public void execute() {
		receiver.undo();
	}

}

 package com.wqy.command;

/**
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 下午04:10:29
 */

public class WriteCommand implements OperateCommand {

	private NoteReceiver receiver;
	public WriteCommand(NoteReceiver receiver){
		this.receiver=receiver;
	}
	@Override
	public void execute() {
		receiver.writer();
	}

}

 测试

 

 

package com.wqy.command;
/**
 * @author wu_quanyin(09817) 
 * @version 1.0
 * @date 2010-7-17 下午04:26:14
 */

public class Client {

	public static void main(String[] args) {
		NoteReceiver note=new NoteReceiver();
		OperateCommand writeCommand=new WriteCommand(note);
		KeyBoardInvoker keyBoard1=new KeyBoardInvoker(writeCommand);
		keyBoard1.action();
		System.out.println("-----------------------------");
		OperateCommand undoCommand=new UndoCommand(note);
		KeyBoardInvoker keyBoard2=new KeyBoardInvoker(undoCommand);
		keyBoard2.action();
		
	}
}

 打印出:

 

正在进行写操作。。。

-------------------------------------

正在进行取消操作...



 

  • 大小: 47.9 KB
0
0
分享到:
评论

相关推荐

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    - **命令模式**(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。 - **迭代器模式**(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 ...

    Linux_command

    ### Linux Command Overview 根据提供的文件信息,我们可以了解到这是一份关于Linux命令的详细介绍文档,旨在为用户提供基础且实用的Linux命令知识。以下是对该文档提到的部分关键知识点进行深入解析: #### A.2 -...

    一键开启笔记本wifi共享

    1. **Windows命令行工具**: 提到的“集成命令行”,指的是利用Windows内置的命令提示符(Command Prompt)或PowerShell来执行特定的命令以实现功能。在这个场景中,可能涉及到的命令包括`netsh`(网络外壳程序),它...

    笔记本AHCI模式sata驱动

    它旨在提高硬盘读写速度,提供高级功能,如热插拔、NCQ(Native Command Queuing,原生队列命令)等。AHCI模式对于现代笔记本电脑的性能提升至关重要,但在配置和使用过程中可能会遇到一些问题,如BIOS设置不当导致...

    苹果系统常用快捷键.pdf

    如果是笔记本电脑,则可能会启动睡眠模式。 - Control + Power:关闭显示器。 - Control + Command + Power:重启电脑。 - Control + Option + Command + Power:立即关机。 - 强制操作: - Command + Option +...

    AMD 780G SB700笔记本台式机开启ahci模式补丁

    默认情况下,一些基于AMD 780G和SB700的系统可能配置为兼容模式(例如IDE或Legacy),这限制了SATA硬盘的潜在速度和高级特性,如NCQ(Native Command Queuing,原生命令队列)。 开启AHCI模式对于提升硬盘读写性能...

    苹果电脑的解锁

    - **命令提示符为 #root>**:成功进入单用户模式后,你会看到命令提示符变为 `#root>`,这表示你当前处于根用户权限下。 ##### 2. 执行文件系统检查 - **使用 fsck 命令**:输入 `fsck -y` 命令来自动检查并修复...

    ESP8266 使用说明

    - **设置 AP 模式**:使用 `AT+CWMODE=1` 命令设置模块为纯 AP 模式。 - **配置 AP 参数**:通过 `AT+CWSAP` 设置 SSID、密码等参数。 - **开启 TCP 服务器**:使用 `AT+CIPSERVER=1,<PORT>` 命令启动 TCP 服务器。 ...

    HP-UX11.23操作系统安装

    - **CM (Command Mode)**:进入命令模式,提供多种命令用于系统管理。 - **LC (Lanconfig)**:设置MP网卡的IP地址。 - **PC (Power Control)**:控制系统的上电和断电操作。 #### 二、HP-UX 11.23 操作系统的安装...

    固态硬盘IDE模式转化AHCI模式工具

    在宏基E1-411G这样的笔记本电脑上,如果默认设置为IDE模式,用户可能需要将BIOS设置更改为AHCI模式以充分利用SSD的速度优势。然而,直接更改模式可能导致操作系统无法启动,因为Windows等系统通常在安装时会根据当时...

    WPF中的事件与命令

    在Windows Presentation Foundation (WPF) 中...键盘事件用于响应各种按键操作,鼠标事件处理鼠标动作,而命令则在MVVM模式下实现了视图与业务逻辑的分离。了解并熟练使用这些机制是构建高效且可维护的WPF应用的关键。

    硬盘ahci模式的驱动(32位和64位)

    在计算机硬件领域,AHCI模式被广泛应用于提高硬盘的传输速度和性能,相比于传统的IDE(Integrated Drive Electronics)模式,它支持更高级的功能,如NCQ(Native Command Queuing)即原生命令队列,可以优化硬盘的...

    hm77适用xp模式下ahci驱动

    "hm77"代表Intel H77芯片组,这是Intel 7系列主板中的一种,常用于台式机和部分笔记本电脑。"ahci驱动"则明确了讨论的核心,即关于AHCI模式下的驱动程序安装。 【压缩包子文件的文件名称列表】 "x86_AHCI"这个...

    nvcc编译器配置——实用详细步骤

    在Commands页面,将Command line macro设为`"$compiler -c $options $includes$file --output-file $object"`。在Others页面,设置"Add headers files search path"为`"--include-path "`(注意path后面有一个空格)...

    Linux常用命令(PDF)

    按 Delete 键(笔记本按 F2 或者其他键,具体根据电脑型号,有的不是常规按键需要查看说明书或者打电 话给客服) 进入 BIOS 模式,找到【CPU Configuration】选项.找到 CPU 虚拟化配置选项,这里是【Intel HT ...

    jupyter notebook tips tricks

    Jupyter Notebook的界面分为两个主要部分:命令模式(Command Mode)和编辑模式(Edit Mode)。在命令模式中,你可以通过键盘快捷键执行各种命令,比如创建新单元格、剪切、粘贴、运行单元格等。在编辑模式中,你...

    Intel Open Source HD Graphics Programmer's Reference Manual 11/21

    - **状态命令**: 这类命令用于设置GPU的状态,如启用或禁用某些特性、设置混合模式等。 - **同步命令**: 为了确保GPU按预期执行命令,需要使用同步命令来控制命令流的执行流程。 **4. 命令流优化** - **命令合并**...

    Linux 操作系统技术合集.pdf

    - **实践**: 掌握插入模式、命令模式之间的切换等基本操作。 **3. C程序编译和运行** - **概述**: 编译和运行C程序的方法。 - **实践**: 使用`gcc`命令编译,如`gcc -o output_file source_file.c`。 **4. 用...

    在Thinkpad系列下Windows 7系统开启ahci模式的方法.docx

    在计算机领域,AHCI(Advanced Host Controller Interface)是一种用于串行ATA(SATA)接口的存储设备控制方式,它提供了原生的SATA支持,包括热插拔、NCQ(Native Command Queuing,原生命令队列)等高级功能。...

Global site tag (gtag.js) - Google Analytics