gpt4 book ai didi

.net - 寻找 UI 的命令模式示例

转载 作者:行者123 更新时间:2023-12-03 14:00:02 24 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

3年前关闭。




Improve this question




我正在开发一个带有基本 UI 的 WinForm .Net 应用程序,其中包括启动相同底层代码的工具栏按钮、菜单项和击键。现在,每个事件处理程序调用一个通用方法来执行该功能。

根据我的阅读,这种类型的操作可以由 Command design pattern 处理。具有自动启用/禁用或选中/取消选中 UI 元素的额外好处。

我一直在网上搜索一个好的示例项目,但真的没有找到。有没有人可以分享一个很好的例子?

最佳答案

让我们首先确保我们知道命令模式是什么:

Command pattern encapsulates a request as an object and gives it a known public interface. Command Pattern ensures that every object receives its own commands and provides a decoupling between sender and receiver. A sender is an object that invokes an operation, and a receiver is an object that receives the request and acts on it.



这是给你的一个例子。有很多方法可以做到这一点,但我将采用基于接口(interface)的方法来使代码更易于测试。我不确定您喜欢哪种语言,但我是用 C# 编写的。

首先,创建一个描述命令的接口(interface)。
public interface ICommand
{
void Execute();
}

其次,创建将实现命令接口(interface)的命令对象。
public class CutCommand : ICommand
{
public void Execute()
{
// Put code you like to execute when the CutCommand.Execute method is called.
}
}

第三,我们需要设置我们的调用者或发送者对象。
public class TextOperations
{
public void Invoke(ICommand command)
{
command.Execute();
}
}

第四,创建将使用调用者/发送者对象的客户端对象。
public class Client
{
static void Main()
{
TextOperations textOperations = new TextOperations();
textOperation.Invoke(new CutCommand());
}
}

我希望你能把这个例子应用到你正在开发的应用程序中。如果您想了解更多信息,请告诉我。

关于.net - 寻找 UI 的命令模式示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com