编写包含大量操作契约和数据契约的相当大的 wcf 服务的最佳实践是什么?
如何将功能区域分成多个契约(Contract),最好为每个功能区域创建一个端点吗?
有什么方法可以将不同部分的源分开,但仍然只对所有部分使用一项服务?
我从哪里可以获得有关如何规划契约(Contract)、包括哪些内容、如何拆分...的详细信息?
最佳答案
自服务诞生以来,这一直是围绕服务的一个大问题。成功完成的 SOA 就是您所说的 SOA 规划。话虽如此,我始终更倾向于将服务分开,但以组合的方式使用它们。也就是说,当您有多个合约时,有多个端点,但其中大多数仅由非服务调用者使用的少数端点使用。 (哇,这真是拗口,它有道理吗?)
此外,我建议契约(Contract)尽可能少。太多的契约(Contract)会导致可管理性差。良好的合约设计将有助于限制端点和服务调用的数量。从契约设计中删除面向对象的概念是实现这一目标的一种方法。契约(Contract)设计本身就是一个很大的话题,但足以说明,通过良好的契约(Contract)规划(预先),可以带来良好的服务设计。
马丁·穆伦德 writes a great blog关于 WCF 设计,是必读的。也出现了一些优秀的 SOA/WCF 书籍。
一些好书:
关于wcf - 大型 WCF 服务的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/233571/