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的《敏捷软件开发》中有一个复印机应用的例子。

  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/maweifeng/p/286202.html
Copyright © 2011-2022 走看看