名字: 命令模式(Command)
别名: 动作(Action) 事务(Transaction)
意图: 将一个
请求封装为一个对象, 从而使你可用不同的请求对
客户进行参数化; 对请求排队或记录请求日志, 以及支持可取消的操作.
动机: 怎么做到开放扩展呢?
class Program
def initialize
@commands = []
end
def add_cmd(cmd)
@commands << cmd
end
def remove_cmd(cmd)
@commands.delete(cmd)
end
def run
@commands.each do |cmd|
cmd.execute
end
end
end
class File
attr_accessor :name
def initialize(name)
self.name = name
end
end
class Command
attr_accessor :file
def execute
raise 'abstract method'
end
end
class OpenFileCommand < Command
def initialize(file)
self.file = file
end
def execute
puts "文件#{@file.name}打开"
end
end
class CloseFileCommand < Command
def initialize(file)
self.file = file
end
def execute
puts "文件#{@file.name}关闭"
end
end
program = Program.new
afile = File.new("A file")
bfile = File.new("B file")
open_a_cmd = OpenFileCommand.new(afile)
close_a_cmd = CloseFileCommand.new(afile)
open_b_cmd = OpenFileCommand.new(bfile)
close_b_cmd = CloseFileCommand.new(bfile)
program.add_cmd(open_a_cmd)
program.add_cmd(close_a_cmd)
program.add_cmd(open_b_cmd)
program.add_cmd(close_b_cmd)
program.remove_cmd(close_b_cmd)
program.run
- 大小: 41.5 KB
分享到:
相关推荐
命令模式Command将请求封装成对象,以便使用不同的请求、队列、或者日志来参数化其他对象。命令模式也支持可撤销的操作。
用java实现命令模式。展现命令模式类与类之间的继承,依赖关系。
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
Command设计模式ppt 代码示例 设计模式 Command ppt 代码实例 撤销重做实例
设计模式C++学习之命令模式(Command)
命令模式 Command: 将一个请求封装为一个对象,从而使你可用不得请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作.命令模式作用:1.他能较容易地设计一个命令队列2.在需要的情况下可以较容易的将...
命令模式(Command) 用意:把一个请求封装到一个对象中,把发出命令和执行命令的责任分开,委派给不同的对象实现。
C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
命令模式
有关设计模式里边的命令模式,内含ppt、源代码及结果、word整理。在此以供大家学习交流。
命令模式 Command 设计模式 若理解有问题,还请大S指教。
Head First 设计模式 (六) 命令模式(Command pattern) C++实现
12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合模式COMPOSITE PATTERN 16、观察者模式OBSERVER PATTERN 17、责任链模式 18、访问者模式VISITOR PATTERN ...
命令模式是一种行为设计模式,它将一个请求封装成一个对象,从而允许用户根据不同的请求对客户进行参数化;同时,它也支持撤销操作。 命令模式的核心在于通过命令对象实现调用操作和实现操作的解耦。这种模式通常...
观察者模式 Observer:Swing中的事件模型 工厂模式 Factory:在JDK中遍地都是,比如JDBC、JNDI等,是学习Spring的基础 命令模式 Command:Struts框架的基石 单例模式 Singleton:最简单的设计模式,大量...
C++设计模式代码资源23_Command_命令模式.zip
命令模式 command mode 复制 剪切 Ex mode 退出 保存 vim (如果系统只有vi没有 vim 是少装了一个系统安装包)">Linux基础学习笔记 对于初学者很有帮助 gedit打开图形编辑器 vi 模式切换:编辑模式 insert mode...
1、命令模式 Command (人,开关,电灯) 2、策略模式 Strategy (用户选择各种排序方法进行排序) 3、简单工厂 Simple Factory (很多的产品,由一个工厂出产) 4、抽象工厂 Abstract Factory (很多的产品,分别由不同...
命令模式的示例代码和文档,学习命令模式的参考资料。