-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClient.java
More file actions
24 lines (21 loc) · 792 Bytes
/
Copy pathClient.java
File metadata and controls
24 lines (21 loc) · 792 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package command;
import command.command.Command;
import command.command.DoorCloseCommand;
import command.command.DoorOpenCommand;
import command.command.LightOnCommand;
import command.command.QuickInvoker;
import command.receiver.Door;
import command.receiver.Light;
public class Client {
void quickCommand() {
Door door = new Door();
Light light = new Light();
// 回家模式
QuickInvoker backHomeInvoker = new QuickInvoker(new Command[]{new DoorOpenCommand(door), new LightOnCommand(light)});
// 离家模式(不关灯)
QuickInvoker leaveHomeInvoker = new QuickInvoker(new Command[]{new DoorCloseCommand(door)});
// invoker调用者 批量执行execute
backHomeInvoker.call();
leaveHomeInvoker.call();
}
}