c# - WPF按钮命令模式:Interpret to UML diagram to show actors

标签 c# wpf design-patterns

Command Pattern UML

我是 WPF 编程世界的新手。我研究了命令模式,我知道它封装了一个请求(任何类型的操作),并且可以将执行交给其他实体(调用者)。

最近有人问我面试问题,显示如上面的命令模式UML图,他们要求我与WPF Button类进行比较,并告诉我谁是Invoker,谁是客户端,谁是接收者,命令在哪里,ICommand在哪里。他们要求我用 wpf 按钮进行解释并重命名该 UML 图上的所有参与者。

我将客户端重命名为按钮。 ViewModel作为接收者,但无法解释调用者、具体命令。根据命令模式,客户端将创建命令并将其提供给接收者,但就 WPF 按钮而言......按钮和 View 模型完全解耦。

有人能帮我理解这一点吗?

最佳答案

在 WPF MVVM 世界中
客户端 -> 应用程序
调用者 -> 用户(单击按钮)
命令 -> ISomeCommand 接口(interface)
ConcreteCommand -> SomeCommand实现 ISomeCommand 的类
Receiver -> SomeService.DoSomething() 在 SomeCommandA 内部调用的逻辑

用户交互通常是调用者。有时,自动化流程或事件可以是调用者,但在这种情况下,用户单击调用该操作的按钮。

关于c# - WPF按钮命令模式:Interpret to UML diagram to show actors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34439879/

相关文章:

c# - 如何设置字符串属性 C# EF 的分隔词的最大长度

c# - WPF 4.5 : How to create child thread and continue task to UI main thread?

.net - 从 WPF 中的图像读取元数据

ruby-on-rails - 如何处理 Rails 应用程序中重用的对象

c# - 尝试更改 Asp.net 身份表 MVC5 的名称

c# - 我如何在 MVC 中跨我的 View 模型和服务使用基类?

c# - "\"@\"在代码块的开头无效

c++ - c++ 迭代器有更漂亮的语法吗?

java - 如何从文件中选择文本

c# - callvirt .NET 指令如何用于接口(interface)?