我是 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/