惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Jina AI
Jina AI
雷峰网
雷峰网
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
美团技术团队
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
博客园 - Franky
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
量子位
IT之家
IT之家
人人都是产品经理
人人都是产品经理
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - JackMa

设计模式 外观 Facade 设计模式 适配器-Adapter 设计模式 单件-Singleton 积累PDU 设计模式 工厂-Factory 设计模式 策略-Strategy,装饰-Decorator,观察者-Observer Java多线程编程 Red Hat Linux认证 认识Agile,Scrum和DevOps 博客目标 iOS Development Learning 13Nov 重新起步 iOS 开发 XML学习笔记(七)Schema语法杂项 XML学习笔记(六)Schema语法之复杂类型 UML和模式应用-第一部分:绪论 XML学习笔记(五)Schema语法之简单类型 XML学习笔记(四)Schema介绍篇 XML学习笔记(三)进阶篇 Xml学习笔记(二)Javascript篇
设计模式 命令-Command
JackMa · 2016-04-02 · via 博客园 - JackMa

命令-Command

当要向不同类的对象发出相同的请求时,可以将接收者和他的动作封装进一个命令对象。这样调用者只和命令产生依赖。而不会和众多的接收者发生依赖。

Head First例子

要设计一款遥控器,控制家里不同的灯或电器。有7个控制栏,上面有开和关按钮。这里遥控器不直接调用灯或电器。因为那是具体的实现,不稳定。引入Command对象。每个按钮按下,就执行相关命令的execute方法。针对不同的电器实现一些列的OnCommand和OffCommand类。里面封装了具体的灯或电器。在构造时传入。在execute方法中执行具体的action方法。

更进一步的应用,可以支持undo操作和宏命令。