在我提出问题之前,我必须描述我们的应用程序是如何构建的。
我们运行了几个在服务层使用ejb的Web应用程序。我试着用一个简短的例子来描述沟通:
我认为这种架构很常见。这是我的问题。
在PersonFacade的删除方法中,我们有非常重要的代码,我们不会复制。每次删除一个人时,这段代码都应该运行。在另一个外观逻辑中,我们需要完全相同的代码,但外观< - >不允许门面沟通。
这个问题的最佳解决方案是什么?
这是我当前的解决方案,但我对它不满意。我创建了一个新的ejb模块,其中包含一个处理删除逻辑的ejb。两个外观模块都依赖于新模块,所以一切都可以找到,我不打破“外墙从不使用其他外墙”合同。如果我们每次都使用这个,我们需要在不同的地方使用相同的代码,我们的模块会爆炸,模块会变得混乱。目前我们有超过250个ejb / jar模块。
答案 0 :(得分:0)
以下是我会考虑的两个选项。