山月记

苟有恒何必三更眠五更起 最无益莫过一日曝十日寒

命令模式

命令模式就是将方法(运算业务逻辑代码)进行封装,并将该方法传递给执行者,执行者不关心所执行的命令(业务代码)是如何实现的。
java的线程池就是命令模式的一个体现。

1.示例deom说明
demo源码
demo中我使用的场景是遥控器要控制家里的电器设备。遥控器RemoteController的开关按钮只需要调用设置的命令的execute方法,而无需关注其如何实现。Command的实现类的execute方法实现了具体的业务代码,例如开灯、关灯等实际操作。

2.应用说明
命令模式在java线程池中是比较好的体现:

ExecutorService pool = Executors.newFixedThreadPool(10);
        for(int i=0;i<10;i++){
            pool.execute(new Runnable() {

                @Override
                public void run() {
                    //业务代码
                    System.out.println("");
                }
            });
        }

这里的Runnable接口跟Command接口一样,线程池execute(Runnable runnable)

这个模式是比较简单的,但在解耦方面的做用是显而易见的,命令模式一般会支持命令的撤回操作,这个如果在业务中碰到可以自己设计实现。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013592964/article/details/77436940
个人分类: 编程思想
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭