您的位置:首页 > 其它

【设计模式 - 14】之命令模式(Command)

2016-12-22 14:36 309 查看

1、模式简介

命令模式的定义:

  命令模式将命令封装成对象,从而使调用一个命令变为调用一个对象的指定方法。

命令模式的优点:

降低了系统耦合度;

新的命令可以很容易的添加到系统中去。

命令模式的缺点:

  会导致系统中有过多的具体命令类。

2、案例

  在一个系统中有三种命令:点击按钮、加载图片和访问网络。我们将三种命令分别封装成三个具体的命令类,通过调用不同的具体命令类来执行不同的命令。具体代码如下:

  命令接口Command中的代码如下:

public interface Command {
void execute();
}


  点击按钮的命令ButtonCommand中的代码如下:

public class ButtonCommand implements Command {

@Override
public void execute() {
System.out.println("点击了Button按钮!");
}
}


  访问网络和加载图片的命令与点击按钮的命令大同小异,可以参考博客最后的GitHub中的代码。

  测试类Test中的代码:

public class Test {
public static void main(String[] args) {
List<Command> commands = new ArrayList<>();
commands.add(new ButtonCommand());
commands.add(new ImageCommand());
commands.add(new HttpCommand());

for (Command c : commands) {
c.execute();
}
}
}


  运行结果如下图所示:



  最后贴出命令模式的GitHub代码地址:【GitHub - Command】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: