public interface Command{
public void exe();
}
public class MyCommand implements Command(){
private Receiver receiver;
public MyCommand(Receiver receiver){
this.receiver = receiver;
}
@Override
public void exe(){
receiver.action();
}
}
public class Receiver{
public void action(){
System.out.println("Command Received!");
}
}
public class Invoker{
private Command command;
public Invoker(Command command){
this.command = command;
}
public void action(){
command.exe();
}
}
public class Test{
public static void main(String args[]){
Receiver receiver = new Receiver();
Command command = new Command(receiver);
Invoker invoker = new Invoker(command);
invoker.action();
}
}