阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

.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:172447
用户头像

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

关注

评论

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

极客时间架构师训练营 1 期 - 第 12 周总结

Kaven

第十二周作业

极客大学架构师训练营

第十一周 作业1

Yangjing

极客大学架构师训练营

架构师训练营第十二周总结

月殇

极客大学架构师训练营

架构师训练营第 1 期 week12 总结

张建亮

极客大学架构师训练营

作业-第八周

ray-arch

使用 Docker 部署 canal 服务,实现 MySQL 数据库 binlog 日志解析

AlwaysBeta

Python MySQL 数据库 Docker Binlog

架构师训练营 1 期第 12 周:数据应用(一)- 总结

piercebn

极客大学架构师训练营

运维数字化

春如夏花

企业架构 DevOps 数字化运维

架構師訓練營 week12 總結

ilake

架构师训练营 1 期 -- 第十二周作业

曾彪彪

极客大学架构师训练营

天下武功,唯“拆”不破之MECE原则二| 技术人应知的创新思维模型 (6)

Alan

个体成长 技术人应知的创新思维模型 28天写作

如何更简单的使用Polly

八苦-瞿昙

随笔杂谈 aop

week12作业

龙卷风

架构师一期

第八周作业

晴空万里

架构师训练营第2期

第十二周作业

fmouse

Week8总结

lggl

架构师训练营第十二周作业

Shunyi

极客大学架构师训练营

极客时间架构师培训 1 期 - 第 12 周作业

Kaven

架构师训练营第 12 周课后练习

叶纪想

极客大学架构师训练营

Week8作业

lggl

[架构师训练营第 1 期] 第12周学习总结

猫切切切切切

极客大学架构师训练营

第十二周总结

fmouse

week12学习总结

龙卷风

架构师一期

第八周学习总结

晴空万里

架构师训练营第2期

架构师训练营第一期第十二周作业

Leo乐

极客大学架构师训练营

第十二周学习总结

Meow

第十二周作业

Meow

第十一周 作业2

Yangjing

极客大学架构师训练营

Java Parser应用介绍

maijun

组合设计模式实现绘图Pannel

我们新四军不拿群众一针一线

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