在.NET WCF服务中组织大量方法的好方法是什么?

Mas*_*Mas 6 .net wcf

我目前正在使用接口中定义的大量方法的WCF服务.这些方法中的大多数是简单的CRUD操作,使用实体框架有一些逻辑,并且可以很容易地分成功能区域.只有一个文件接近1K行代码,我想将其拆分以保持可维护性.我正在考虑以下事项:

  • 将服务文件拆分为部分类.但它仍然是一个代码量很大的单个类.尽管如此,我想这真的不是问题.
  • 有一个实现具有标准错误处理和ObjectContext创建/销毁的服务接口的类,但将调用路由到静态帮助程序类.我以前做过这个,但不知怎的,我感觉不干净.

此外,按功能区域划分,还是通过CRUD方法(组合在一起,共同创建等)会更好.

在处理WCF服务时,这必然是一个非常常见的问题.组织WCF服务方法的好方法是什么?

更新

最后,我决定将服务调用传递给内部静态类.

Lad*_*nka 8

如果操作可以按功能区域分组,则它们应该是单独的服务,因为与任何其他类一样的服务应该具有单一责任=单个功能区域.

通常,如果您的服务有很多操作,那么现在是时候解决它了.此外,大多数情况下,WCF服务仅包含某些逻辑,因此您可以创建包含逻辑的其他类的实例,或者在服务操作中使用静态类.

编辑:

一般来说,我反对使用部分类来打破一个大班 - 我认为它不会提高可维护性.一旦一类是这么大,你正在寻找解决方案,它分成多个文件,它已经意味着重构应该已经很久以前完成.在最糟糕的情况下,当你的班级做得太多时,我们可以称之为反模式:上帝的对象.