Java:我自己的API中有哪些事件通知选项?
假设您已经编写了一个API,它可以在一个独立的线程中实时收集数据.数据访问是线程安全的,并通过接口.例如. getData()不阻止并提供最新信息.该API用于许多应用程序;一些GUI驱动,其他控制台程序.
您有什么选择通知您的应用程序有数据更新?我们绝对不希望API依赖于应用程序,因此我们不希望fireTableDataChanged()或类似的API. (在我们的GUI应用程序中,我们会在API通知我们或我们查看API之后调用fireTableDataChanged()等.) 非常感谢! 解决方法
一种选择是编写自己的事件生成器类.
> IEventListener<活动> IEventListener由观察者实现.它有一种接收事件的方法. IEventProducer由任何observable通过EventProducer实现.它具有添加和删除侦听器的方法. EventProducer是线程安全的.它有一个方法将事件发送到侦听器的CopyOnWriteArrayList.它捕获并记录侦听器抛出的任何异常.它还提供了添加和删除侦听器的方法. 然后,任何可观察的类都可以通过内部EventProducer实现IEventProducer. 如果尝试在同一个类上支持两种侦听器类型,则键入erasure将要求您为不同的侦听器命名不同的添加/删除侦听器方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |