写点什么

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

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

关注

评论

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

架构师训练营第一周作业

Mark

IPFS云算力挖矿系统开发详解案例及源码

系统开发咨询1357O98O718

云算力挖矿系统开发详解 云算力APP系统软件开发 云算力模式系统开发源码 云算力软件系统开发定制

5G与4G的差别及应用

anyRTC开发者

人工智能 android AI 5G WebRTC

技术干货 | 六分钟学会使用 HBuilder 引入构建 mPaaS 小程序

蚂蚁集团移动开发平台 mPaaS

小程序 uni-app mPaaS

为了搞清楚类加载,竟然手撸JVM!

小傅哥

JVM 小傅哥 类加载 生命周期 加载机制

RPC Demo(二) 基于 Zookeeper 的服务发现

Java zookeeper RPC 服务发现

IPFS挖矿矿机系统开发方案丨IPFS挖矿矿机源码案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿系统开发搭建

公安警务报警系统,二维码一键定位报警

t13823115967

二维码定位报警系统开发 微警务 二维码定位

MySQL为Null会导致5个问题,个个致命!

王磊

MySQL MySQL使用

阿里面试:Mybatis中方法和SQL是怎么关联起来的呢?

田维常

mybatis

LeetCode题解:239. 滑动窗口最大值,二叉堆,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

IPFS挖矿系统开发详情案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿软件系统开发

CKLC挖矿矿机系统开发案例介绍

系统开发咨询1357O98O718

CKLC挖矿矿机系统软件开发 CKLC挖矿矿机系统开发 CKLC挖矿矿机APP系统开发

分享一个普通程序员的“沪漂”六年的历程以及感想

程序员老猫

回忆录 经历 年终总结 沪漂 上海买房

通达同城快递设计方案

garlic

架构师训练营第 1 期

爆赞!P8架构师总结29篇多线程与高并发+设计模式核心笔记

Java架构追梦

Java 学习 架构 面试 多线程高并发

散布消极言论被开除的总监 | 法庭上的CTO(25)

赵新龙

CTO 法庭上的CTO

测开之函数进阶· 第6篇《闭包》

清菡软件测试

测试开发

IPFS分布式存储矿机系统APP软件开发

系统开发

母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列

叫练

多线程与高并发 Wait lock 线程互斥 await

Spring cloud Gateway(二) 一个Http请求的流程解析

Java 网关

AAAI 2021论文:利用深度元学习对城市销量进行预测(附论文下载)

京东科技开发者

数据库 大数据 时序预测

10次面试,2份offer —— 大龄程序员 2020 求职记录

escray

面试 架构师训练营第 1 期

鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机

刘悦的技术博客

Python 数据分析 特征选择 降维

NoahTenet诺亚信条软件系统APP开发

系统开发

送你一份迷你书,全面了解如何做好大促技术备战

京东科技开发者

DevOps

总结2020:5个月出版两本书,日更公众号是一种怎样的体验?

冰河

程序员 程序人生 年终总结

盘点2020 | YourBatman 2020年感悟关键词:科比、裁员、管理层、活着

YourBatman

裁员 盘点2020 科比 管理层 活着

SpringCloudGateway(一) 概览

Java SpringcloudGateway

智慧社区综合应用平台搭建,社区管理解决方案

t13823115967

智慧社区管理平台开发 智慧平安社区平台建设

Java多线程编程核心技术

田维常

多线程

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