传递命令

书名:WPF专业编程指南
作者:李应保
出版社:电子工业出版社
出版时间:2010-01
ISBN:9787121100116


一、传递命令

  • 在大型软件工程中,一个软件往往由多个模块组成,通常希望模块和模块之间的相关性越少越好,用专门的术语叫decouple,从而把对一个模块的修改对其他模块的影响降到最低。
    使用命令这种设计范例就可以达到目的:发布命令的模块对于命令如何执行一无所知,接收命令的模块对命令加以解释并具体执行。

二、命令范例的实现方式

  • 如图7-9所示。


    图7-9 命令范例的UML图示
  • 在图7-9中Invoker类是命令的发出者,Command通常是抽象类(Absctract class in C++/C#)或Interface(C#或Java),ConcreteCommand实现到具体对象上的操作(Receiver类),它应知道要调用目标类上的方法。

三、作用机制

  • WPF中不仅支持命令范例,而且实现了命令和传递事件一样在元素树上的传递,WPF更进一步开发了常用命令的功能。
    WPF传递命令的作用机制如图7-10所示。


    图7-10 WPF中的传递命令
  • 通常菜单条目或按钮发出相关命令,WPF的命令仓库中(Command Repository)支持一系列命令,然后把命令绑定到用户界面上的UI元素上。
    例如,在菜单条目里使用命令:

  <StackPanel>
  <Menu>
    <MenuItem Command="ApplicationCommands.Paste" />
  </Menu>
  <TextBox />
  </StackPanel>

其中ApplicationCommands.Paste就是命令仓库中的粘贴命令。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容