java - 命令模式设计

标签 java design-patterns command

我想创建一个java程序来接收一些命令。我想将来为这个程序创建一个 GUI,但现在我想使用命令来使用该程序。我认为我不需要运行控制台来发送命令,我应该例如,如果我的程序称为 ManagedProgram 并且 shutdown 是该程序的命令,则调用的示例将是:

shutdown -hours 在 -hours 关闭机器。 或者 shutdown - 分钟,在 - 分钟内关闭机器。

我为每个命令创建了一个类,它可能有一个方法来执行具有不同输入参数的命令。接收参数(命令和命令的参数)并调用执行输入命令所需的类的主类。然而这种结构很容易出错,因为我有很多条件序列(if、elseif else.. 或 swith),所以我认为如果我使用正确的模式设计来改变层次结构,我将拥有一个可扩展和可重用的结构。例如,我想在程序结束时创建一个 GUI。

非常感谢。

最佳答案

使用Command pattern :

A behavioral design pattern in which an object is used to represent and encapsulate all the information needed to call a method at a later time. This information includes the method name, the object that owns the method and values for the method parameters.

如果您实现此模式,您将很容易从 GUI 中重用它,因为 GUI 操作将映射到正确的命令。

关于java - 命令模式设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20514212/

相关文章:

Windows wget不下载文件但在浏览器中下载

java - 使用嵌套迭代器迭代两级结构

c++ - 如何强制耦合多态类型和枚举值?

ios - UICollectionView 和 MVVM

design-patterns - MVP:关于 Presenter 角色的问题

linux - 无法更改到 sudoers.d 目录

Linux命令结构

java - 除以零而不出现 ArithmeticException

java - 在 Eclipse IDE 中通过文件获取用户输入到 java 程序

java - 使用动态规划生成前 n 个素数