Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 模式等,以获得简洁易用的gui代码_Java_User Interface_Design Patterns_Gwt - Fatal编程技术网

Java 模式等,以获得简洁易用的gui代码

Java 模式等,以获得简洁易用的gui代码,java,user-interface,design-patterns,gwt,Java,User Interface,Design Patterns,Gwt,每次我编写gui(在我使用GWT的情况下,以前从未接触过gui编程),我都会注意到,当应用程序变得更复杂时,我的代码会变得一团糟 查看我的代码,发现对象构造函数中的所有设置程序和这些杂乱无章的组合让人头疼,这真是令人沮丧 我正在使用MVC模式,这确实有助于更加清晰。不幸的是,我的整个视图组件在任何时候都不清晰。;-)我试着使用很多接口来从构建过程中抽象出来,并将几个实现的接口添加到一起(我想我可以很容易地在不同的库之间切换,比如Gwt Ext和Gxt),但我还是不太高兴 我确信您也遇到了这个问题

每次我编写gui(在我使用GWT的情况下,以前从未接触过gui编程),我都会注意到,当应用程序变得更复杂时,我的代码会变得一团糟

查看我的代码,发现对象构造函数中的所有设置程序和这些杂乱无章的组合让人头疼,这真是令人沮丧

我正在使用MVC模式,这确实有助于更加清晰。不幸的是,我的整个视图组件在任何时候都不清晰。;-)我试着使用很多接口来从构建过程中抽象出来,并将几个实现的接口添加到一起(我想我可以很容易地在不同的库之间切换,比如Gwt Ext和Gxt),但我还是不太高兴


我确信您也遇到了这个问题,我想问您,为了获得更干净的代码,您遵循什么实践?除了MVC之外,还有gui编码的设计模式吗?对于高可读性和美观的用户界面代码,您有什么诀窍?

Martin Fowler就这个主题写了一篇有趣的文章:

当我在GWT中编写GUI时,我喜欢创建只执行一些小任务的小部件。这样,当您在最终视图中组合这些小部件时,它会变得更加清晰。另一方面,你可以得到一个小部件乱七八糟的。因此,请尝试平衡新小部件中的内容(将在许多地方使用)和视图中的内容。

看起来更像是一个非常普遍的编程问题,而只是与GUI相关的问题。为什么您觉得这只会发生在GUI代码中?您唯一的问题是视图组件被具有许多参数的getter/setter和constructor弄乱了吗

对于具有许多参数的构造函数,除了确保所有参数都是实际需要的之外,您可以做的不多。顺便说一句,您可能想看看构建器模式。它可能不会减少参数的数量,但限制使用新关键字是一种很好的做法

可能不是你想要的答案,但是看看你是否可以更具体地说明这个问题,以及为什么你觉得它只发生在你的GUI代码中