10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

.NET 中的 Command(命令)模式

  • 2012-04-18
  • 本文字数:537 字

    阅读完需:约 2 分钟

Command(命令)模式中,使用对象来表示和封装稍后调用该方法所需的全部信息——这些信息包括方法名、拥有该方法的对象、及参数值。在系列文章“.NET 中的Command(命令)模式”的第一部分中,Eric Vogel 介绍了在WPF 应用程序上下文中对 ICommand 接口的使用。

Command(命令)通常是指某个操作,及知道如何执行此操作的命令对象。那些命令对象本身会实现通用接口——调用者无需知道任何实现细节,只需通过此接口即可调用方法。这有助于将调用该操作的对象与知道如何执行此操作的对象相分离,从而带来清晰的关注点分离

在Silverlight 或WPF 应用程序中使用ICommand 接口的主要目的是,为了保持XAML 隐藏视图的洁净,不掺杂任何用户交互代码。对于理解如何在Silverlight 应用程序中实现此目的,“在Silverlight 中使用ICommand 接口”也是篇佳作。因为命令对象可以排队等待稍后对它们方法的调用,所以此模式对于实现 Undo-Redo(撤销 - 重做)功能也相当有用。

请注意,ICommand 接口本身对于实现 Command(命令)模式并不是必须的——为了定义某个 Command(命令),你可以创建自己的接口或抽象类。这些示例展示了在不依赖ICommand 接口的情况下使用Command(命令)模式,不过使用的都是相同的基础概念。

查看英文原文: Command Pattern In .NET

2012-04-18 11:172913
用户头像

发布了 55 篇内容, 共 20.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

面向大模型的存储加速方案设计和实践

百度Geek说

人工智能 nlp 企业号 8 月 PK 榜

挖掘数据价值,助力企业智能升级丨华为云华为云通用AI解决方案简评

YG科技

有奖活动 | 大咖论道:一同畅聊鸿蒙生态

HarmonyOS开发者

HarmonyOS

Programming abstractions in C阅读笔记:p76-p83

codists

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

BlockChain先知

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

西柚子

JVM内存管理--GC算法精解(五分钟教你终极算法---分代搜集算法)

java易二三

编程 程序员 计算机 科技 技术宅

开发秘籍,教你快速完成MySQL数据的差异对比!

NineData

数据库 监控治理 NineData 对比工具 对比软件

redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?

java易二三

redis 编程 程序员 面试 计算机

从源码层面深度剖析Spring循环依赖 | 京东云技术团队

京东科技开发者

spring 源码剖析 循环依赖 @Bean 企业号 8 月 PK 榜

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio快速构建React完成点餐H5页面还原

小小白

腾讯云 Cloud Studio

深入理解 HDFS(三):HRPC

冰心的小屋

hdfs RPC hadoop rpc

夹具、治具、模具零件加工|云MES系统解决方案

万界星空科技

开源 解决方案 MES系统

Go 注释

小万哥

Go 程序员 云原生 后端 开发

上海博卡:基于支付宝公私域隐私计算的精准营销探索实践

TRaaS

小程序 支付宝小程序 隐私计算

SpringBoot3进阶用法

Java 架构 springboot SpringBoot3

科兴未来|2023“数智未来,聚放神采”医疗科技创新挑战赛

科兴未来News

使用 Vue 自定义拖放文件上传

互联网工科生

GitHub Vue 代码

redis 的哨兵模式详解和实战

java易二三

Java redis 编程 程序员 计算机

火山引擎DataLeap数据质量动态探查及相关前端实现

字节跳动数据平台

大数据 数据中台 数据治理 数据安全 企业号 8 月 PK 榜

何时使用Elasticsearch而不是MySql

越长大越悲伤

MySQL elasticsearch

字符串匹配算法BM算法

java易二三

编程 程序员 算法 计算机 BM

代码随想录Day41 - 动态规划(三)

jjn0703

企业轻量应用,云耀云服务器L实例能帮大忙!

YG科技

测试同学如何提升自己的职场竞争力

老张

核心竞争力

线程池-从零到一了解并掌握线程池

派大星

线程池 Java 面试题

面向万物智联的应用框架的思考与探索

OpenHarmony开发者

OpenHarmony

CMake中使用vcpkg

芯动大师

探索式测试-用Scrum的套路做测试

大头

Scrum 敏捷测试 探索测试 敏捷迭代

.NET中的Command(命令)模式_.NET_Roopesh Shenoy_InfoQ精选文章