我是WPF编程世界的新手。我研究过Command模式,我知道它封装了一个请求(任何类型的动作),并且可以将执行权交给其他实体(调用者)。
最近我被问到面试问题显示如上面的命令模式UML图,他们要求我与WPF Button类进行比较并告诉谁是Invoker,谁是客户,谁是接收者,哪里是命令,哪里是ICommand。他们让我用wpf按钮解释并重命名该UML图上的所有演员。
我将客户端重命名为按钮。 ViewModel作为Receiver,但无法解释调用者,具体命令。根据命令模式客户端将创建命令将给予接收器,但就WPF按钮而言...按钮和视图模型完全解耦。
有人帮我理解这个吗?
答案 0 :(得分:2)
在WPF MVVM世界中
客户 - >申请书
祈求者 - >用户(按钮点击)
命令 - > ISomeCommand接口
ConcreteCommand - > SomeCommandA类实现ISomeCommand
接收器 - >在SomeCommandA
用户交互通常是调用者。有时,自动化流程或事件可以是调用者,但在这种情况下,用户单击调用操作的按钮。