Java23种设计模式
创建一个命令,内部持有请求对象,调用者持有命令的统一调用,实现调用者和请求之间的解耦。
需求:我们点击一个按钮,然后view上面显示字HelloWorld!,按照命令模式我们会这么设计。
- 创建请求,我们的请求就是显示HelloWorld!
public class Request {
public void setHelloWorld(){
System.out.print("HelloWorld!");
}
}
- 创建命令接口,统一一个执行方法
public interface Command {
void execute();
}
- 创建命令实体类,持有Request对象,并且execute方法中调用setHelloWorld()
public class TestCommand implements Command{
Request request;
public TestCommand(Request request) {
this.request = request;
}
@Override
public void execute() {
request.setHelloWorld();
}
}
- 创建调用者,持有Command接口对象,并且show()调用execute()
public class Caller {
Command command;
public Caller(Command command) {
this.command = command;
}
public void show(){
command.execute();
}
}
- 客户端初始化请求、命令、调用者,并调用caller的show()
public class Test {
public static void main(String[] args) {
setClick();
}
public static void setClick(){
Request request = new Request();
TestCommand command = new TestCommand(request);
Caller caller = new Caller(command);
caller.show();
}
}
执行结果:
HelloWorld!