|
|
1
4
我会选择最简单有效的方法;保持代码整洁,以“摇摆方式”执行,直到发现问题。 |
|
|
2
3
事件总线是在某些体系结构中提供解耦的非常非常有用的工具。监听器很容易实现,但当对象和依赖关系图变大时,监听器有很大的局限性。监听器往往会遇到循环依赖的问题(事件可能以奇怪的方式“反弹”,最终你不得不玩游戏以确保自己不会陷入困境。大多数绑定框架都会为你这样做,但知道监听器事件正在向上百万个地方飞去,会让人感到不快)。 我根据项目规模和可伸缩性做出这种决定。如果它是一个大的应用程序,或者应用程序的某些方面可以通过动态(如插件模块等)来实现,那么总线是保持体系结构整洁的好方法(类似OSGI的模块容器是另一种方法,但重量更重)。 Event Bus 项目-它与Swing配合得非常好,并为您提出的问题提供了一个健壮的开箱即用的解决方案。 |
|
|
3
2
JavaSwing中的惯例是大量使用侦听器。坚持传统会提高可维护性,但会扼杀创新。 我在Swing中没有遇到过总线方法,但我觉得它很有趣。 |
|
|
4
0
好的,我可以想象这样一种方法:使用类似总线的系统更新模型,使用监听器委派来自模型的事件。简单场景:我得到了代表数据生产者的服务器端。然后在客户端有一个got使用者接口,它使用所有传入的消息,并将它们转换为我的内部消息/DTO,然后将它们推送到总线,总线将它们分发到应用程序模型中。这些模型处理传入的消息,并决定使用侦听器通知感兴趣的组件。 |
|
OREO · 如何在不实际单击复选框的情况下选中它 1 年前 |
|
|
Dan · 在元素外部设置html点击处理程序点击后立即触发 2 年前 |
|
|
Mero · Svelte在父事件调用上调用新的嵌套事件处理程序 2 年前 |
|
|
iorice · usercontrol dll中的组件事件 2 年前 |
|
|
Awin · 点击事件功能不适用于Vue组件 2 年前 |
|
|
Kiwi · 将可共享的自定义数据添加到事件MS图形api 2 年前 |