<分区>
剧集#41 Stack Overflow 播客的 Jeff 和 Joel 讨论了导致可用性差的 GUI 意识形态。您见过哪些 GUI 工具包对使用它们的程序员产生了最有益的影响?您发现哪种级别的分离(在用户界面和实现之间)对可测试性和可用性最有效?
<分区>
剧集#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 - <header> 和 <footer> 实际上是做什么的?
angular - fixture.debugElement.componentInstance 和 fixture.nativeElement 有什么区别?
ruby-on-rails - 测试失败,即使它正在测试的东西正在通过
java - Selenium Webdriver - 由于“添加”按钮不可见,上传功能无法正常工作
ruby-on-rails - Rails 集成测试 : Is Capybara necessary for interacting with Javascript?