码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之(Command)命令行模式

时间:2014-11-20 21:51:09      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   sp   on   2014   log   ad   ef   

1.需求

为一个开关设计程序,这个开关有N按钮,同时对应N个插槽,要求可以接入任何电器厂商的API,从而可以控制任何电器。目前只有电灯和电视两种电器,要求写一个Demo程序,按钮1可以打开电灯。按钮2可以打开电视并且切换到上一次打开的频道。打开电视换频道需要打开机顶盒并且对机顶盒切换频道。

2. 分析

每个厂商的API不一致,且每个电器的打开流程都不一样,我们需要将这些差异封装起来,才可以实现新增电器时不需要修改开关程序。

3. 类图

bubuko.com,布布扣

4. 总结

上面的例子主要通过Command模式将执运算块(几个对象和一组动作)打包变成一个统一的excute方法。Comand除了可以实现excute,还可以实现undo(撤销),只需要为每个命令实现undo方法,就可以实现撤销的动作。Command模式的一个常见的应用就是任务池,我们可以自定义很多任务,然后封装成command对象,交给任务池逐个执行。

设计模式之(Command)命令行模式

标签:style   blog   http   sp   on   2014   log   ad   ef   

原文地址:http://www.cnblogs.com/key000/p/4111450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!