SOA解决方案设计和服务封装:我应该将服务代码库保存在单独的解决方案中,还是将它们集中在一起?

时间:2015-01-02 19:15:29

标签: nservicebus soa

我正在使用我在Udi Dahan的高级分布式系统设计课程中学到的原理开发SOA项目。到目前为止,该项目有6个完全独立的服务,以及用于聚合和与第三方服务集成的IT / Ops服务。我还开发了一套库,用于所有这些服务,包括基础设施代码,i / o和实用程序。

将这些服务的代码整合在一个解决方案中,或者将它们保存在完全独立的解决方案中是否更好?或两者?使用一个解决方案,集成测试将变得更加简单,但我关心的是服务封装 - 我的直觉告诉我,我不希望开发人员在一个服务上工作,知道另一个服务是如何工作的,因为它可能导致无意的耦合。在将所有代码库保留在一个解决方案下时,是否有人遇到过服务封装的实际问题?

1 个答案:

答案 0 :(得分:2)

我会将服务保存在单独的解决方案中,甚至是单独的存储库。

我不认为它与服务封装有任何关系,但更多的是帮助更好地处理代码争用,并且难以在服务之间采取依赖性。

对于公共代码(如合同),将它们放在一个单独的存储库中,并使用nuget(或类似的)来引用您的解决方案。

有意义吗?