zoukankan      html  css  js  c++  java
  • 【设计模式

    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】

  • 相关阅读:
    velocity masterplate 第一个程序的运行
    java 关于集合框架
    java 关于>>>位运算
    QCA wifi驱动强制为HT40
    Linux内核调试方法的总结(转载)
    移动端利用webkitbox水平垂直居中
    Under Construction to Beta
    网站自动备份
    writely 邀请?
    Google Carlendar coming ?
  • 原文地址:https://www.cnblogs.com/itgungnir/p/6211146.html
Copyright © 2011-2022 走看看