3

I'm looking to use the command pattern in a distributed client/server environment. Essentially, the receivers 'execute' methods will need 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.

1 Answer 1

7

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 ;)

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.