您的位置:知识库 » .NET技术

WCF分布式开发步步为赢系列的(6):WCF服务契约继承与分解设计

作者: Frank Xu Lei  来源: 博客园  发布时间: 2009-04-10 10:34  阅读: 4841 次  推荐: 0   原文链接   [收藏]  
摘要:本文介绍了WCF服务契约继承有何优势和缺点以及实际项目里契约设计有什么原则和依据和面向对象的设计经验有何值得借鉴的地方
[1] 面向对象设计原则OO
[2] 服务契约继承
[3] 服务契约分解概念
[4] 服务契约分解代码分析

  【3】服务契约分解概念:

     下面我们继续讲解服务契约设计的一些概念知识。其实服务契约的设计在WCF分布式应用项目中属于比较重要的部分。服务契约的设计和实现相对来多比较复杂,除了注意已有的设计原则之外还要注意WCF契约相关的特性。面向服务分析与设计的属于一个较新的领域。实际的服务分析和设计我们还是借助于已有的经验和原则,来指我们更好地设计服务契约。这也是本节给出一个面向对象重要设计原则的原因。

因为WCF服务契约的定义借助现有的编程语言如C#,契约设计实际首先就是对服务接口的设计。我们应该如何设计服务接口?如何知道服务接口中应该定义哪些操作?每个接口又应该包含多少操作?等等都是我们必须考虑的问题。Service Contract Factoring就是要考虑服务接口的分解问题。在面向服务的应用程序中,可重用的基本单元就是服务接口。因此如何设计服务接口就是重中之重。

  【4】服务契约分解原则:

这里我们设计服务接口时候即遵循单一职责和接口隔离等原则,又要考虑系统的开发成本。合理的接口是专业的、松耦合的、规则化和可重用的接口。这些优势同样有利于整个系统的松耦合和可重用等特性。总的来说,契约分解的目的就是使接口包含的更少操作。

如果我们定义了太多的细粒度服务接口,虽然它们易于实现,但集成它们的代价太高。如果我们仅定义了一个复杂的服务接口,虽然集成的成本会降低,但却接口的实现和可维护性较差。我们设计面向服务的系统时,需要平衡两个影响系统的因素,接口成本和集成成本。参见下图。

系统服务的代价为实现的代价与集成的代价的综合。上图显示了最小代价与服务接口规模和数量之间的关系。设计良好的系统应该在系统集成成本和契约接口设计实现成本之间作何平衡点,达到系统整体开发成本的降低。

0
0
标签:WCF

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻