与Guice一起摇摆

Lan*_*dei 18 java user-interface swing guice

我已经在使用Guice作为我的应用程序的数据模型,到目前为止我对此非常满意.然而,GUI部分即将成为一个泥球大球.我觉得这里很难使用Guice,因为Swing组件和模型紧密耦合,并且经常强制执行某个初始化顺序.

我的应用程序基本上包含一个包含大量过滤器的标题,一个中心且非常复杂的JTree组件,以及许多操作(例如来自JPopup),菜单,对话框,向导等.主要问题是我有很多组件和动作之间的耦合(例如复杂的验证,树更新......).你能给我一些如何用Guice构建GUI的建议吗?

我知道像GUTS这样的库,但文档很薄,我宁愿避免在我的项目中添加另一个依赖项并学习另一个API(例如我不知道Swing应用程序框架).

Bor*_*vić 4

我宁愿建议一个合适的 MVC,甚至更好的演示模型- 视图 - 控制器。正确地分离你的代码,Guice 会自然地融入其中。例如:

视图类应该有一个构建部分,用于绘制静态内容(标签、树、按钮等)并更新对表示模型中的更改做出反应的代码。所有操作监听器都应该调用控制器上的一些代码。与所有其他依赖项一样,表示模型和控制器都应该由 Guice 注入。

该组织将允许通过用一些测试代码替换视图来轻松进行测试,这些测试代码将侦听表示模型中的更改并调用控制器上的操作。