我需要构建各种命令并将它们作为参数传递给另一个程序。
命令共享一些信息和格式,但参数数量不同。
例如,对于CRUD操作,我可能会生成以下命令字符串:
"create""host_ip""database""user_id""profile""personal_data1""personal_data2""personal_datan"
"retrive""host_ip""database""user_id"
"update""host_ip""database""user_id""personal_data1""personal_data2""personal_datan"
"delete""host_ip""database""user_id"
我相信有更聪明的方法可以做到这一点&通过在这个神奇的网站上分享,我可能会做得更好。
答案 0 :(得分:5)
可能太明显但你想到了Command Pattern?
在面向对象的编程中, 命令模式是一种设计模式 一个对象用来表示 并封装所有信息 需要稍后调用方法 时间。这些信息包括 方法名称,拥有的对象 方法和方法的值 参数。总是三个词 与命令模式相关联 是客户,调用者和接收者。该 客户端实例化命令对象 并提供所需的信息 稍后调用该方法。 调用者决定何时使用该方法 应该叫。接收器是 包含的类的实例 方法的代码。使用命令 对象使构造更容易 需要的一般组件 委托,序列或执行方法 在他们选择的时候打电话 无需知道所有者 方法或方法参数。
答案 1 :(得分:1)
看起来您需要一个可以构建应用程序命令的构建器类。如果在所有构建方法之间使用了任何对象,则通过构建器构造函数将其发送。
public class CommandBuilder() {
public String buildCreate(..) {..}
public String buildRetrieve(..) {..}
public String buildUpdate(..) {..}
public String buildDelete(..)
}
如果你想创建更多的抽象,你总是可以返回一个只知道如何按需执行所述命令的对象。