Java Eclipse插件-使用观察者模式避免循环依赖

Java Eclipse插件-使用观察者模式避免循环依赖,java,eclipse-plugin,dependencies,circular-dependency,observers,Java,Eclipse Plugin,Dependencies,Circular Dependency,Observers,我从一个源插件创建了两个不同的插件。第一个插件包含应用程序逻辑类,第二个插件包含用户界面类。 目前我遇到了一个问题,因为应用程序逻辑中的一个类在UI插件中使用了一个静态方法,我必须摆脱这种依赖性,否则我将得到一个循环依赖性 该方法应该保留在UI类中,因为它使用eclipse和SWT小部件(为用户打开一个MessageDialog),我也不能将调用该方法的类移动到UI插件中,因为有许多其他应用程序逻辑类使用它,甚至从中继承 我认为“观察者模式”可以解决问题,但事实并非如此,因为在这种情况下,我的U

我从一个源插件创建了两个不同的插件。第一个插件包含应用程序逻辑类,第二个插件包含用户界面类。 目前我遇到了一个问题,因为应用程序逻辑中的一个类在UI插件中使用了一个静态方法,我必须摆脱这种依赖性,否则我将得到一个循环依赖性

该方法应该保留在UI类中,因为它使用eclipse和SWT小部件(为用户打开一个MessageDialog),我也不能将调用该方法的类移动到UI插件中,因为有许多其他应用程序逻辑类使用它,甚至从中继承

我认为“观察者模式”可以解决问题,但事实并非如此,因为在这种情况下,我的UI类将是观察者(一旦它从可观察逻辑类收到通知,就会打开消息对话框),而我的应用程序逻辑类是可观察的。因此,在注册观察者时,需要UI类的实例。实现自定义观察者模式时也是如此

我如何解决这个问题?

我真的需要帮助。感谢

你是否考虑过使用观察者模式,重构你的项目,并用所有共享代码创建第三十二,并使这两个插件都取决于你的答案,并感谢你的回答。这两个插件已经与其他插件交互。第三个插件如何解决这个问题?我的主要目的是避免调用这种图形方法。你能给我提供更多的细节吗?我不是说要创建另一个插件,而是更像是带有共享代码的库,我不能说得更具体,因为我不知道你的代码的结构