1

在单个 WCF 服务中有 200 个方法可以吗?我无法避免这只是一项大服务。这不是一个好习惯吗?如果不行,该如何处理?

4

2 回答 2

1

我认为服务中有 200 种方法没有任何问题,但在我看来这是一个糟糕的设计。

您可以对任何相关的事物进行分类以保留在不同的类别中。是不是每个人都可以使用所有 200 种方法,并且您不想一次性添加一些 SOC?

于 2013-05-15T17:34:21.727 回答
0

这是服务组合的问题。200 次服务操作 = 高粒度。您的操作名称是什么?我猜,但我敢打赌他们就像:

  • InsertTypeA (TypeA typeA)
  • InsertTypeB (TypeB typeB)
  • UpdateTypeA (TypeA oldTypeA, TypeA newTypeA)
  • DeleteTypeB (int typeBId)
  • ETC..

您需要考虑的是服务促进了哪些商业活动?所以一个商业活动应该是这样的:

  • 产品添加到目录
  • 帐户与子帐户合并
  • 向客户开具发票
  • ETC

因此,您的服务运营应该反映您的业务事件:

  • AddProductToCatalogue (int productId, int catalogueId)
  • MergeAccounts (int accountId, int childAccountId)
  • 发行发票(int customerId)
  • ETC

通过专注于业务事件,您可以使您的服务运营水平更高,并且需要更少的服务。您的典型应用程序执行了多少业务事件?三?四?这是您应该公开的服务操作数量。

于 2013-05-16T09:21:00.453 回答