标签:usr dem ... stat 耦合 imp java div ati
命令模式:把命令包装成对象,将命令发送者和命令接受者的耦合降低
举个例子,皇帝发圣旨招一个大臣入宫。
这里的皇帝就是客户端,而圣旨就是命令,大臣就是命令接受者。那么命令发送者通常都是某个公公对吧。这里就是一个命令模式的实践,为什么这样说呢?平常我们写代码都是一个方法直接调用另一个方法,这样耦合性太高了,你总不能让皇帝跑到大臣家告诉他找他有点事吧,要是都这样皇帝不就累死了。皇帝要做的就是指定命令交个哪一个公公,让公公这个命令发送者带着这个命令去找命令接受者,皇帝就在皇宫等着大臣来就行了,而不用关心这从命令交给发送者到命令接受者接收到命令的时候发生了什么。
我们看一下这个类图:
下面来看一下代码
public class Client {
public static void main(String args[]){
Reception reception=new Reception();
Command command=new CommandImpl(reception);
Request request=new Request(command);
request.action();
}
}
public class Request {
private Command command;
public Request(Command command){
this.command=command;
}
public void action(){
command.excute();
}
}
public interface Command {
public void excute();
}
public class CommandImpl implements Command {
private Reception reception;
public CommandImpl(Reception reception){
this.reception=reception;
}
@Override
public void excute() {
reception.action();
}
}
public class Reception {
public void action(){
System.out.println("臣接旨...");
}
}
这样的一个简单的例子就是入门命令模式的demo了,你get到了么?
本文出自https://zhixiang.org.cn/#/blog/read/4d633838-4663-4cb3-9239-ee5a3c69c23c,转载请保留。
标签:usr dem ... stat 耦合 imp java div ati
原文地址:https://www.cnblogs.com/zhixiang-org-cn/p/9260670.html