我们目前正在使用大约7项服务.那里很大.
有没有人对单一责任原则和WCF服务有任何经验?这是否意味着你最终会得到很多小合同?如果是这样,您如何在您的应用程序中管理这些?
我认为你对界面隔离的单一责任感到困惑.
从客户端/服务接口的角度来看,您应该保持合同的精益和意义.请参阅下面的示例.
在SRP方面,这应该完全是服务实现的内部,客户端不应该意识到这一点.如果服务代码太大,请将其拆分为类.然后让您的服务代码(至少在开始时)充当外观并将所有调用转发给相关对象.稍后,您可以选择将服务拆分为多个服务.但请注意,SOA和面向对象设计虽然重叠,但它们是分开的,并且具有不同的要求.
接口隔离示例:我们在工作中有一个服务,用于在某些业务对象上执行各种功能.原始服务有一个界面.随着它的发展,我们意识到我们有三个方法系列:数据对象持久性,业务更新,业务分析.我们分成三份合同.我们的客户端/服务实现了所有3个,因此我们唯一要做的就是将合同拆分为三个,并在我们的WCF配置中设置两个额外的端点.非常简单.
希望这可以帮助.