工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
在VB6中用命令行为模式控制GUI动作
[文章信息]
作者:陶刚编译
时间:2005-02-17
出处:天极网
责任编辑:方舟
[文章导读]
命令行为模式是我们可以使用的一种简单模式,它在行为概念的具体化和撤销行为方面显得尤其有益
advertisement
热点推荐
· Excel图表向导详解
· 2月16日软件精选 春节文章精彩回顾
· 轻松玩转Excel数据图表
· Win XP系统如何快捷地整理硬盘碎片
· ASP.NET中用healthMonitor属性用法
[正文]

上一页  1 2 3  

  检查UML中的工作

  如果你了解UML,那么你应该知道图1基本上概括了本文的内容。如果你不了解UML(它是一个很好的技巧),这种简单的类图表也不难理解。线(Line)表现了关系。菱形(Diamond)表现了完整的和局部的关系,也就是集合体。完整的关系带有菱形,而部分的却没有。方向键表现了联合关系(associations),它与集合关系大致相当,三角形表现了继承(inheritance),被继承的东西带有三角形。虚线和方向线表明了依赖关系和必要的信息。

  请查看图1,从逻辑上讲,LeftCommand、RightCommand、DownCommand和UpCommand都继承自ICommand。命令与窗体有关联,但是并不是拥有窗体--这是由它们的Form属性表现出来的。Form依赖于命令,这是因为它是该Form的操作被调用的方式,并且Form与集合有聚合关系,因为Form负责处理集合的生命周期。

  这些定义并非UML中精确的技术。例如,我们可以区分继承(称为一般化)和接口继承(称为实现),但是说明却是遵循实用主义的。

  回顾简单的堆栈表现

  本文中的技术要求你通晓一些堆栈表现的知识。当我还是一名密歇根州大学(Michigan State University)大学生的时候,我就必须实现堆栈,在那个时候这是很困难的。初学编程的人可以从这儿的堆栈快速回顾中受益,在VB6中很容易使用集合实现堆栈,并且非常有用。
堆栈是一种遵循后进先出(LIFO)规则的数据结构,它受到两种基本的操作(push和pop)。给堆栈添加内容的时候必须使用push操作,删除内容的时候使用pop操作。调用push添加的最后的内容在调用pop的时候会被最先取出。例如,如果你有一个整数堆栈,并且压入了1、2、3、4、5,那么5次调用pop的时候会得到5、4、3、2、1。因此,堆栈是用于向后跟踪的很好的数据结构,有趣的是,它也是你的CPU跟踪运行的代码路径的基本原理。

  但是,集合要成为堆栈仅仅依赖于你插入和删除内容的位置。通过在集合的末尾插入和删除内容,设计堆栈只需要少量的代码。例如,用collection.Add实现push调用,用collection.Remove(collection.Count)实现pop调用。简单地把集合的尾部作为数据结构的头部高效地把集合转换成了简单的堆栈。你在列表2的PushStack和PopStack方法中可以看到例子。

  最后,你还可以对本文的例子进行很好的修改。把集合、PushStack和PopStack移动到一个Stack类可以使窗体更加整洁,并且建立了一个良好的通用堆栈类。采用这种方式改善代码的设计称为重构(refactoring)。学习代码重构是学习模式的良好补充。

  工具的品质

  在本文中你学习了一种工具--命令行为模式。如果发现被调用的行为需要被撤销,或者使用的代码过于复杂,那么我希望你能够记起这个简单但是功能强大的工具,其实本文讨论的其它一些概念--UML、模式和重构本质上也是工具。

  任何任务都不可能有完美的工具(有句谚语是这样说的"如果你只拥有锤子,那么一切问题都是钉子")。我的父亲常说工匠通常是由于他们工具的品质而知名的。换句话说,你所拥有的工具越多,你能实现的功能也就越多。

上一页  1 2 3  

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • VB设计Win2000下截获IP数据包程序
  • 真没想到VB也可以这样用之VB能做什么
  • 用VB编写异步多线程下载程序
  • 适合Visual Basic初学者的10个小技巧
  • 用VB实现实时曲线的绘制和保存
  • 中国IT企业走进欧盟 搭第六框架计划直通车
  • 美邦银行用户注意 警惕新型“钓鱼”邮件
  • 微软三年时间磨出新IE 具有更强大安全性能
  • 高清碟机标准打内战 HDV将状告EVD恶性竞争
  • 正版网上银行为何不安全 客户泄密银行无责任
  • 惠普铁娘子悲壮退场 未能成功扮演拯救者
  • 网上乱用人民币图样是违规行为 最高罚3万
  • “伟哥”要正名 微软携手辉瑞打击假“伟哥”
  • Advertisement