我目前正在开发一个包含4个不同组件的WCF项目。没有任何组件是相互关联的。
目前我已经制作了一个项目并包含了四项服务。我意识到,如果其中一个组件发生变化,我们就必须测试整个项目是否安全。
然而,如果我制作4个不同的项目,它们彼此无关或彼此交谈,那将使测试和集成变得更加容易。如果我们要改变一个项目,其他项目不会受到影响或下降。
我需要一些有利有弊的反馈。
同样,组件不会相互通信或相互进行任何调用。
答案 0 :(得分:3)
绝对不同的组件。它会减少松耦合。
如果他们共享一些共同的基础设施(错误处理,记录,行为......),请使用第4个通信程序集。
它不会影响您部署服务的方式。如果它们要存放在IIS中的同一个Web应用程序中,那么它们只是bin中的3个程序集。 servicemodel配置不会改变。如果他们将生活在不同的应用程序中,那么它会更好
如果您认为3种服务仍然是可持续的,请考虑10 ...正如您所说,其中一种服务的一个小变化是所有这些服务的新版本
他们一起跟踪(或不跟踪)的事实不会产生影响,因为它们是服务,而不是组件
另一方面,当处理大量服务时,其中一个解决方案是构建一个服务总线,然后,您的服务只是常规类,并且它们在同一个程序集中是不是很重要(甚至可能更容易相同)但在你的场景中,肯定是不同的程序集
答案 1 :(得分:0)
每个服务都应该构建自己的程序集,并且在部署时应该在它自己的应用程序池中运行。之后,项目是否都属于同一解决方案并不重要。