WCF 之 服务契约(Service Contract)
来源:互联网 发布:ch341a编程器软件1.30 编辑:程序博客网 时间:2024/04/28 05:20
契约式终结点三要素之一,WCF的契约大体可以分为两种,一类是对服务操作的描述;另一类是对数据的描述。服务契约(Service Contract)属于前者,后一类包含其余3种契约:数据契约(Data Contract)、消息契约(Message Contract)和错误契约(Fault Contract)。
从功能的角度看,服务契约是相关操作的集合;从消息交换的角度看,服务契约定义的每一个操作代表一种消息交换模式(MEP:Message ExchangePattern);从跨平台的角度看,服务契约以一种与厂商无关的方式提供服务的描述,它和WSDL和SXD密不可分;从服务编程的角度看,WCF中的服务契约将基于.NET平台的CLR类型转换成平台无关的服务描述。
“契约”从字面上理解就是交互双方或多方就某个关注点达成的一种共识,是一方向另一方的一种承诺。签署了某个契约就意味着自己有义务履行契约中规定的各项规定,一旦违约就会影响契约双方的正常交互。
契约致力于解决两者之间的交互问题,它针对交互的层面进行抽象,从而保证交互的稳定性。软件工程师一种不同于传统意义上的工程学,它的宗旨在于如何使我们的软件能够尽可能地应对各种变化,这种变化可能是可以预见的,但绝大部分都是不可预见的。“变是永远不变的”,这句话用在软件开发中恰如其分。那么如何提高软件适应变化的能力呢?一个永恒的宗旨就是:识别并分离“易变”与“不变”,依赖于“不变”。
从交互的角度来讲,什么是“可变的”,什么又是相对“不变的”呢?那就要看交互的本质了。交互的目的可以看成是一种“服务的消费”,乙方消费另一方提供的服务或功能。那么“不变”的就是服务或功能本身,“易变”的就是服务或功能的具体实现。对于服务消费者来说,它只希望对方能够提供仔细所需的服务或功能就可以了,并不会关心对方是如何实现该服务或功能的。
从功能的角度看,服务契约是相关操作的集合;从消息交换的角度看,服务契约定义的每一个操作代表一种消息交换模式(MEP:Message ExchangePattern);从跨平台的角度看,服务契约以一种与厂商无关的方式提供服务的描述,它和WSDL和SXD密不可分;从服务编程的角度看,WCF中的服务契约将基于.NET平台的CLR类型转换成平台无关的服务描述。
“契约”从字面上理解就是交互双方或多方就某个关注点达成的一种共识,是一方向另一方的一种承诺。签署了某个契约就意味着自己有义务履行契约中规定的各项规定,一旦违约就会影响契约双方的正常交互。
契约致力于解决两者之间的交互问题,它针对交互的层面进行抽象,从而保证交互的稳定性。软件工程师一种不同于传统意义上的工程学,它的宗旨在于如何使我们的软件能够尽可能地应对各种变化,这种变化可能是可以预见的,但绝大部分都是不可预见的。“变是永远不变的”,这句话用在软件开发中恰如其分。那么如何提高软件适应变化的能力呢?一个永恒的宗旨就是:识别并分离“易变”与“不变”,依赖于“不变”。
从交互的角度来讲,什么是“可变的”,什么又是相对“不变的”呢?那就要看交互的本质了。交互的目的可以看成是一种“服务的消费”,乙方消费另一方提供的服务或功能。那么“不变”的就是服务或功能本身,“易变”的就是服务或功能的具体实现。对于服务消费者来说,它只希望对方能够提供仔细所需的服务或功能就可以了,并不会关心对方是如何实现该服务或功能的。
服务契约就是对功能的抽象,而功能通过一个个的操作(Operation)承载,所以服务契约可以看成是一个相关操作的集合。
1 0
- WCF 之 服务契约(Service Contract)
- 服务契约Service Contract
- WCF 基础之契约(Contract)
- WCF契约之---服务契约 、数据契约、 消息契约
- wcf学习笔记4 定义服务契约contract
- WCF之 Contract之KnownType契约类型介绍
- WCF开发之服务契约
- WCF开发之服务契约
- WCF框架之服务契约
- [原创]WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- [原创] WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化
- [WCF] Service contract
- 一步一个脚印学习WCF之二构建一个简单的WCF应用程序前必须掌握的WCF基础术语---契约(Contract)
- WCF学习笔记——契约(Contract)
- WCF学习笔记——契约(Contract)
- (三)WCF之契约
- WCF契约的简单介绍(服务契约 数据契约 消息契约)
- Linux Shell脚本攻略(1.8)
- ZigBee入门之基础概念3
- MVC北京络捷斯特第三方物流系统技术解析(六)补录订单运输信息
- Project Euler: Problem 14 Longest Collatz sequence
- 图解WebSphere 8.5 安装
- WCF 之 服务契约(Service Contract)
- dmytrodanylyk/circular-progress-button源码解析(一)
- Spring AOP--引入增强
- Gson-JsonParser解析Json字符串
- 从数据库看学习
- openlayers实现wfs属性查询和空间查询
- git步步进阶---实战git的windows安装和使用
- 适配器模式
- HTML5.0笔记 (一)