Command Pattern - parameters
I'm looking to use the command pattern in a distributed client/server environment. Essentially, the receivers 'execute' methods will need开发者_C百科 to take various parameters, however I read that each command class should have a uniform 'execute' method that should reveal nothing about the underlying functionality of the receivers.
My question is, how can I pass invocation parameters from switches into the different receivers via the command classes? Has anyone got a simple Java example? I can't seem to find any
Thanks indeed for your help.
Just pass them upon construction of the command instance.
public class ConcreteCommand implements Command {
private Object something;
public ConcreteCommand(Object something) {
this.something = something;
}
@Override
public void execute() {
// ...
}
}
Or if you really need to pass arguments (because they represent the work state and not the algorithm state), then you should just do so and call it "strategy pattern" instead ;)
精彩评论