.NET中的Command(命令)模式

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

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

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

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

原文地址:https://www.cnblogs.com/shihao/p/2456472.html