【发布时间】:2014-08-01 16:29:45
【问题描述】:
我们有一个像这样的 soa-ish 架构
frontend ->domain A ->db
frontend->business A->domain B ->db
frontend ->domain C ->db
frontend ->domain A ->db
frontend->business B->domain B ->db
frontend ->domain C ->db
other app A
other app B
我们还有其他不属于这个 soa 堆栈的应用程序。
我们不时有以下讨论/问题:
“我在域 A 中有代码,在域 B 中也很有用,但在业务服务中没有 - 我应该把这些东西和测试放在哪里”。
让我们假设代码非常抽象且与领域无关,这是非常通用的,也可以被 soa 之外的“其他”应用程序使用。
所以问题是:
a) 将它放在一个“generic-domain-stuff”模块中,所有域都通过 maven 依赖项继承。这可能最终会不断增长,直到变得一团糟……。
b) 创建一个可供 soa 和“其他”应用程序使用的模块“generic-stuff”。这可能会导致很多小型 maven 模块......
c) 复制代码直到你拥有三个用例,然后重构为 a) 或 b)。这屏幕很干(不要重复自己)
我身边有 10 年以上“企业”经验的人,但我们似乎从来没有为总是相同的问题找到合适的解决方案/答案 :)
我很想听听你的经历
【问题讨论】:
标签: java maven architecture soa dependency-management