user-interface - 最自然的 GUI 工具包

标签 user-interface testing

<分区>

剧集#41 Stack Overflow 播客的 Jeff 和 Joel 讨论了导致可用性差的 GUI 意识形态。您见过哪些 GUI 工具包对使用它们的程序员产生了最有益的影响?您发现哪种级别的分离(在用户界面和实现之间)对可测试性和可用性最有效?

最佳答案

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

我自己的,基于计算机科学的经验和我开发的行业的特定需求开发的。简而言之,没有 Elixir ,只有您必须运用经验和判断力的工具。适用于我的 CAD/CAM 软件的内容不适用于 Web 开发人员的网站,也不适用于办公软件开发人员等。

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

对于在计算机桌面上运行的传统应用程序,我推荐 Passive View 的变体.负责创建和管理表单的类是一个将事件传递给 UI 对象的薄壳。 UI_Object 通过接口(interface)与表单交互。在术语中,UI 对象实现了一个 UI_View 接口(interface),并向位于对象层次结构较低层的 View Controller 注册了自己。

然后 UI_Object 执行实现修改模型的命令模式的对象。命令对象可以通过 View 控件公开的接口(interface)与各种 View 交互。

这样做的目的是允许您剥离表单类并用实现表单接口(interface)的 stub 类替换它们。 stub 类用于自动化测试,尤其是集成测试。

接口(interface)精确定义了表单、UI_Object、命令和 View 之间的交互。它们可以设计成相对语言无关的,这样它们就可以更容易地在平台之间进行移植。

我不太精通网络编程,但有一些相关的模式可以完成同样的事情。

我还必须警告说,被动 View 可能有点矫枉过正。您可能不想将它用于简单的设置对话框(如设置串口参数的对话框)。这是对维护和编码的便利性是否值得增加测试时间的判断。如果对话框仅由单个命令调用以修改某些设置参数,那么最好在命令本身中定义它。

关于user-interface - 最自然的 GUI 工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/578976/

相关文章:

html - &lt;header&gt; 和 &lt;footer&gt; 实际上是做什么的?

angular - fixture.debugElement.componentInstance 和 fixture.nativeElement 有什么区别?

ruby-on-rails - 测试失败,即使它正在测试的东西正在通过

java - Selenium Webdriver - 由于“添加”按钮不可见,上传功能无法正常工作

vb.net - 是否可以将控件锚定到另一个控件?

android - Fragment UI 使用抽屉导航

ruby-on-rails - Rails 集成测试 : Is Capybara necessary for interacting with Javascript?

testing - 我的应用程序是否在黑莓模拟器上运行?

testing - maven测试找不到资源

user-interface - 如何创建允许在维护模式下运行时卸载特定实例的 MSI UI