3

我希望在分布式客户端/服务器环境中使用命令模式。本质上,接收器的“执行”方法需要采用各种参数,但是我读到每个命令类都应该有一个统一的“执行”方法,该方法不应该透露任何关于接收器的底层功能。

我的问题是,如何通过命令类将调用参数从开关传递到不同的接收器?有没有人有一个简单的Java示例?我似乎找不到任何

确实感谢您的帮助。

4

1 回答 1

7

只需在构建命令实例时传递它们。

public class ConcreteCommand implements Command {

    private Object something;

    public ConcreteCommand(Object something) {
        this.something = something;
    }

    @Override
    public void execute() {
        // ...
    }

}

或者,如果您确实需要传递参数(因为它们代表工作状态而不是算法状态),那么您应该这样做并将其称为“策略模式”;)

于 2011-02-15T21:31:09.177 回答