【发布时间】:2009-01-16 23:08:26
【问题描述】:
我正在用 Java 重新实现一个 .Net API,该 API 指定了一大堆事件,ehich java 并不隐式支持。
我将使用观察者模式,但由于事件的数量,我真的不想弄乱界面。
我想知道声明一个“Event”类是否是个好主意,该类有一个订阅方法,该方法接受一个“EventHandler 接口”和一个 throw 方法。
这样我就不会因为单独的事件处理它们而将无数订阅者列表弄乱我的父类。
我能看到的唯一问题是 throw 命令的参数,因为不同的事件会有不同的参数。
我想出的解决方案是让 throw 方法接受一个对象数组,或者创建一个像 IEventArguemnts 这样的接口,它可以传递给 throw 命令并由订阅事件的代码处理,这似乎对我来说更有意义。
如果有任何改进建议,我将不胜感激。或任何改进。
【问题讨论】: