我正在研究 Eclipse ide。我想知道在一个插件上执行的操作如何被其他插件监听,以便它们也可以处理相同的事件。
有什么事请回复...
正如eclipse插件架构文章中提到的
在侦听器扩展模式中,宿主插件充当观察的主体,扩展插件充当观察者或侦听器。
因此,主机插件提供了一个可以称为侦听器的扩展点,以及一个可以调用的相应接口IListener
。
然后,每个扩展器插件通过提供实现 IListener 接口的特定侦听器或通过提供此类侦听器的序列来扩展侦听器扩展点。因为监听器随后通过插件扩展机制以声明方式指定,所以这些监听器可以通过扩展处理自动注册用于事件通知。
第一次需要通知时,主体插件处理其侦听器成员,并为每个成员实例化特定的侦听器回调对象并注册该侦听器以进行事件通知。