Command Pattern allows you to decouple the requester of an action from the object actually performs the action. A command

object encapsulates a request to do something on a specific object.

From dinner to the Command Pattern

Head First Design Patterns - Command Pattern

1.Implementing the Command interface

public interface Command{

  public void execute();

}

2.Implementing a Command

public class LightOnCommand implements Command{

  Light light;

  public LightOnCommand(Light light){

    this.light = light;

  }

  public void execute(){

    light.on();

  }

}

3.Using the Command object

public class SimpleRemoteControl{

  Command slot;

  public SimpleRemoteControl(){}

  public void setCommand(Command command){

    slot = command;

  }

  public void buttonWasPressed(){

    slot.execute();

  }

}

The Command Pattern encapsulates a request as an object, thereby letting you parameterize other objects with

different requests,queue or log requests, and support undoable operations.

Class diagram:

Head First Design Patterns - Command Pattern

1.The Command Pattern decouples an object, making a request from the one that knows how to perform it.

2.A Command object is at the center of this decouping and encapsulates a receiver with an action(or set of actions)

3.An invoker makes a request of a Command object by calling its execute() method 

4.Commands mat support undo by implementing an undo method that restores the object to its previous state

before the execute() method was last called.

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2021-11-11
  • 2021-06-24
  • 2021-05-20
  • 2021-10-26
  • 2021-09-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案