【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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

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

关注

评论

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

大数据培训学习程序员有必要吗

@零度

大数据开发

javaScript深拷贝和浅拷贝简单梳理

程序猿布欧

JavaScript 前端 深拷贝 浅拷贝 深拷贝与浅拷贝

英特尔分享进军独显市场的背后思考

科技新消息

【易安联】安全都是有边界的,零信任也不例外

Geek_2d6073

什么是敏捷开发,敏捷开发落地指南之迭代排期

阿里云云效

云计算 阿里云 敏捷开发 研发 研发敏捷

Android C++系列:string最佳实践

轻口味

c++ android 4月月更

PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台

PingCode

Go语言入门很简单:Go 中的作用域和变量隐藏

宇宙之一粟

作用域 Go 语言 4月月更

知识管理:新时代企业竞争力核心

小炮

企业知识管理 企业知识管理工具

这是一个有关自律的复杂故事

Coffee Cat

数据分析 监控 自律 跑步 可观测

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

Swoole中的协程使用相关说明,快来围观

CRMEB

培训学习选择java好还是前端好

@零度

JAVA开发 web前端

JavaScript的事件循环机制浅析

程序猿布欧

JavaScript 前端 前端面试 防抖节流

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

为安全而生!浪潮云参编的《数据安全法》实施参考(第一版)重磅发布

浪潮云

云安全

双许可、先决条件、附加条款……开源许可证的疑难杂问

一君

[Day25]-[二叉树]二叉搜索树中的插入操作

方勇(gopher)

LeetCode 二叉树 数据结构算法

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

Docker知识对应验证

Docker 4月月更

云原生应用配置中心简述

穿过生命散发芬芳

4月月更

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

源码解析Synchronous Queue 这种特立独行的队列

华为云开发者联盟

MQ 堆栈 队列 Synchronous Queue 公平队列

“一个扫描枪一张表”,韵达选择 TDengine 应对每日亿级数据量

TDengine

数据库 tdengine

JWTToken在线编码生成

入门小站

工具

在线Excel转TSV工具

入门小站

工具

Go单体服务开发最佳实践

万俊峰Kevin

微服务 单体架构 web开发 go-zero Go 语言

Windows 11 修改 PIN 的长度为 4 位

HoneyMoose

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

眼见不一定为实:调用链HBase倾斜修复

捉虫大师

HBase 数据倾斜 4月月更

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