gpt4 book ai didi

Java事件: Is this a good way to go about it?

转载 作者:行者123 更新时间:2023-12-02 08:38:32 27 4
gpt4 key购买 nike

我正在用 Java 重新实现 .Net API,该 API 指定了一大堆事件,但 java 并不隐式支持。

我将使用观察者模式,但由于事件的数量,我真的不想让界面变得困惑。

我想知道声明一个“Event”类是否是一个好主意,它有一个订阅方法,该方法采用“EventHandler Interface”和一个 throw 方法。

这样,我就不会用无数的订阅者列表弄乱我的父类,因为各个事件会处理它们。

我能看到的唯一问题是 throw 命令的参数,因为不同的事件有不同的参数。

我提出的解决方案是让 throw 方法接受对象数组,或者创建一个像 IEventArguemnts 这样的接口(interface),它可以传递给 throw 命令并由订阅事件的代码处理,这似乎对我来说更有意义。

如果有任何改进此问题的建议,我将不胜感激。或任何改进。

最佳答案

Java 有事件,也有对事件的 API 支持。查看 java.util 包。您将看到 java.util.EventListenerjava.util.EventObject 以及其他一些内容。还有用于维护订阅者等的支持类。例如,AWT 和 Swing API 很大程度上是基于事件的。

通常,addXxxListener(XxxListener l) 方法(即订阅方法)将在触发事件的类上执行,而不是在事件类本身上执行。事件就是消息,它是从发布者向订阅者触发的内容。

关于Java事件: Is this a good way to go about it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/450653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com