zoukankan      html  css  js  c++  java
  • Windows Form编程中的Command模式

    Command模式,或者类似一些模式,个人觉得是C++或Java风格的,但不代表这些模式在使用VB或者Windows Form编程时就不需要。

    Command模式核心思想是使界面的类代码和动作代码分离,例如一个创建菜单的代码(非应用程序调用创建菜单的类,而是菜单类),在其动作(Click)代码中没有相关的具体的操作的代码,那么,怎么实现呢?在菜单项类中有一个Command接口的引用,其Click过程调用这个Command的Execute方法。而具体的Command对象则由App类来绑定(具体可以参考GoF的设计模式)。

    对于VB或者Windows Form开发,基本上没有这个需求,因为通过事件机制,界面的操作和动作的操作可以在其事件中实现。 界面的组件是已经设计好的,对于动作的处理代码,在相应的事件处理程序中处理就可以了。但对于一些需求,还是需要使用Command模式来做一些事情。

    例如要记录用户动作,判读是否有该操作的权限,或者给操作增加Undo(经典的Command模式的需求),那么就可以使用Command模式。通过Command模式,将此类代码从界面窗体中隔离出去,例如在一个按钮单击事件中可以使用如下代码:

    _testCommand.Execute(...)

    在此Command的实现中,可以对权限做检查,对动作作记录。

    另外,对于一些由事件激发的动作,也可以通过Command实现具体动作,将具体操作代码移出窗体。

    在VB 6中,笔者基本是使用在模块中建立一系列的Command过程来进行动作的操作的。个人觉得,Command的思想在于隔离界面和动作,Bob的《敏捷软件开发》中有一个复印机应用的例子。

  • 相关阅读:
    软件测试:等价类划分——应用
    软件测试———白盒测试、黑盒测试与灰盒测试
    对软件项目管理的感想
    用maven进行项目管理
    my git ~
    ios支付宝的集成
    三个文本框的验证
    ios测试工具研究(1)-----------XCTest 单元测试
    等价类划分的思考
    git相关
  • 原文地址:https://www.cnblogs.com/maweifeng/p/286202.html
Copyright © 2011-2022 走看看