我希望在分布式客户端/服务器环境中使用命令模式。本质上,接收器的“执行”方法需要采用各种参数,但是我读到每个命令类都应该有一个统一的“执行”方法,该方法不应该揭示接收器的基本功能。
我的问题是,如何通过命令类将调用参数从交换机传递到不同的接收器?有没有人有一个简单的Java示例?我好像找不到任何
非常感谢你的帮助。
答案 0 :(得分:7)
在构造命令实例时传递它们。
public class ConcreteCommand implements Command {
private Object something;
public ConcreteCommand(Object something) {
this.something = something;
}
@Override
public void execute() {
// ...
}
}
或者,如果确实需要传递参数(因为它们代表工作状态而不是算法状态),那么您应该这样做并将其称为“strategy pattern”; )