代码之家  ›  专栏  ›  技术社区  ›  alif

最自然的图形用户界面工具包[关闭]

  •  4
  • alif  · 技术社区  · 17 年前

    论插曲 #41 在StackOverflowPodcast中,Jeff和Joel讨论了导致低可用性的GUI思想。您看到了哪些最有益于影响使用它们的程序员的GUI工具包?您认为(在用户界面和实现之间)在可测试性和可用性方面最有效的分离级别是什么?

    1 回复  |  直到 17 年前
        1
  •  4
  •   RS Conley    17 年前

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

    我自己的,是根据我在计算机科学方面的经验和我所发展的行业的特殊需要而发展起来的。简而言之,没有什么神奇的子弹,只有一些你必须运用经验和判断力的工具。适用于我的CAD/CAM软件的,既不适用于Web开发人员的网站,也不适用于Office软件开发人员,等等。

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

    对于在计算机桌面上运行的传统应用程序,我建议使用 Passive View . 负责创建和管理表单的类是一个薄壳,它将事件传递给UI对象。ui_对象通过接口与表单交互。从术语来说,UI对象实现了一个UI视图接口,并向位于对象层次结构较低位置的视图控制器注册自己。

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

    这样做的目的是允许您剥离表单类,并用实现表单接口的存根类替换它们。存根类用于自动化测试,特别是集成测试。

    接口精确地定义了窗体、UI对象、命令和视图之间的交互。它们可以被设计成相对语言不可知的,这样就可以更容易地在平台之间进行移植。

    我对网络编程没有那么熟练,但是有一些相关的模式可以完成相同的事情。

    我还必须注意,被动的观点可能是致命的。您可能不想将其用于简单设置对话框(如设置串行端口参数的对话框)。这是一个判断是否容易维护和编码是值得增加的测试时间。如果一个对话框只由一个命令调用来修改一些设置参数,那么最好在命令本身中定义它。