最自然的GUI工具包

时间:2009-02-23 19:26:30

标签: user-interface testing

在Stack Overflow Podcast的第#41集中,Jeff和Joel讨论了导致可用性差的GUI意识形态。您看到哪些GUI工具包最有利于影响使用它们的程序员?您认为哪种级别的分离(在用户界面和实现之间)对可测试性和可用性最有效?

1 个答案:

答案 0 :(得分:4)

您看到哪些GUI工具包最有利于影响使用它们的程序员?

我自己,是根据计算机科学的经验和我为之开发的行业的特定需求而开发的。简而言之,你不得不使用经验和判断力的工具。什么适用于我的CAD / CAM软件,不适用于Web开发人员的网站,也不适用于办公软件开发人员等。

您认为哪种级别的分离(在用户界面和实现之间)对可测试性和可用性最有效?

对于在计算机桌面上运行的传统应用程序,我推荐Passive View的变体。负责创建和管理表单的类是一个将事件传递给UI对象的瘦shell。 UI_Object通过接口与表单交互。在术语中,UI对象实现UI_View接口,并使用位于对象层次结构中较低位置的视图控制器进行自身注册。

UI_Object然后执行实现修改模型的命令模式的对象。命令对象可以通过View Control公开的接口与各种视图进行交互。

这样做可以让你破掉表单类并用实现表单接口的存根类替换它们。存根类用于自动化测试,尤其是集成测试。

接口精确定义了Form,UI_Object,Commands和视图之间的交互。它们可以设计成与语言无关,因此可以更轻松地在平台之间移植。

我不熟悉网络编程,但有相关的模式可以完成同样的事情。

我还要提醒被动视图可能有点过分。您可能不想将它用于简单的设置对话框(如设置串口参数的对话框)。这是一个判断调用是否易于维护和编码是否值得增加测试时间。如果只通过单个命令调用对话框来修改某些设置参数,那么在命令本身中定义它是一个很好的选择。