Command-Shaaf’s Blog | 关于软件开发及相关经验的全部内容
切换导航
Shaaf的博客所有文章java文章会议存档工作坊关于搜索计算机 设计 设计模式 gof 操作指南 java 模式 编程 软件 软件开发 命令Command由 Shaaf的博客 发布 于 2008年10月31日,星期五
通过使用命令模式,您可以将操作与调用对象分离。正因如此,在不更改调用者的情况下更改命令变得更加容易。
这意味着在以下情况下您可以使用命令模式:
- 您希望参数化对象以执行操作
- 您希望在不同时间指定、执行和排队请求
为了快速开始,您需要一个命令对象。在这种情况下,接口将使其易于使用,从而为您提供扩展其他类(例如Swing MenuItem或Button)的选项。
下面的execute方法是在调用此命令或要求其执行操作时调用的方法。
而getCommandName被假定为一个唯一名称,但我相信我们总能想出更好的实现来确保唯一性。
|
|
命令的示例实现应如下所示: 一个命令名称,以及一个execute方法,用于说明调用此命令时会发生什么。
|
|
在这种情况下,命令管理器是控制器。它注册命令对象。“registerCommand”将简单地获取一个命令并将其存储在列表或类似结构中。这意味着您可以从jar文件、xml或路径中加载它,并将对象作为命令传递给“registerCommand”。
“execute”命令将简单地执行传递给它的命令。
而“getCommand”通过查找COMMAND_NAME返回一个命令。因此,如果您通过系统向其提供一个名称,它应该返回一个Command类型的对象,并简单地将其传递给execute。同样,这将是控制器逻辑,而不是客户端逻辑。
|
|
← 上一篇下一篇→目录特色标签管理员 ant 自动化 构建 缓存 ci 命令 计算机 持续 设计 设计模式 docker 工程 fedora gof 操作指南 howto ibm infinispan 集成 jacl java jdbc jdk-21 jython kubernetes llm 迁移 mq openjdk openshift 模式 编程 quarkus redhat 发布 rhel scm 脚本 单例 单例模式 软件 软件开发 svn 系统管理员 提示 工具 工具类 websphere wsadmin
版权所有 © Shaaf的博客 2025