我们目前使用了大约7个服务。那里相当大。
有没有人有过单一责任原则和WCF服务的经验?这是不是意味着你最终会有很多小合同?如果是这样,您如何在您的应用程序中管理这些?
发布于 2009-02-25 15:05:32
我认为你混淆了单一责任和接口分离。
从客户端/服务接口的角度来看,您应该保持您的契约的简洁性和平等性。请看下面的例子。
在SRP方面,这应该完全在服务实现的内部,客户端不应该意识到这一点。如果您的服务代码太大,请将其拆分到类中。然后让您的服务代码(至少最初)充当外观,并将所有调用转发到相关对象。稍后,您可以选择将服务拆分为多个服务。但请注意,SOA和面向对象设计虽然重叠,但它们是独立的,具有不同的需求。
接口分离示例:我们在工作中有一个服务,我们使用它在一些业务对象上执行各种功能。最初的服务只有一个接口。随着它的发展,我们意识到我们有三种方法:数据对象持久化,业务更新,业务分析。我们分成了三份合同。我们的客户端/服务实现了所有3个端点,所以我们唯一需要做的就是将契约一分为三,并在我们的WCF配置中设置两个额外的端点。非常简单。
希望这能有所帮助。
发布于 2009-01-14 12:12:19
我建议你在hanselminutes上收听这个播客:
SOLID Principles with Uncle Bob - Robert C. Martin
这将有助于更好地理解事物。。。
发布于 2011-12-13 11:06:30
您可以为与客户端交互的web服务应用外观模式,并且在您的实现代码中,您可以应用单一责任来使其可维护。
https://stackoverflow.com/questions/442713
复制相似问题