public interface Command { public void excute(); } public class Light { public void on() { System.out.println("return on"); } public void off() { System.out.println("return off"); } } public class LightOnCommand implements Command{ private Light light; public LightOnCommand(Light light) { this.light = light; } @Override public void excute() { light.on(); } } public class SampleRemoteControl { private Command command; public void setComand(Command command) { this.command = command; } public void buttonWarPressed() { command.excute(); } } public class Test { public static void main(String[] args) { Light light = new Light(); Command command = new LightOnCommand(light); SampleRemoteControl control = new SampleRemoteControl(); control.setComand(command); control.buttonWarPressed(); } } |
|
来自: Bradypod > 《design pattern》