微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【ITOO】S0A

背景

软件开发思想从面向过程、面向对象,再到现在的面向服务,是一个进一步抽象的过程。

由于传统的面向对象思想并没有考虑到定义类型的版本,那么,系统中某些类型在进行重新部署和分析的时候,就可能造成不可避免的错误。这是是模块之间耦合的一种表现。

为了进一步降低系统内部模块之间的耦合,soa的思想孕育而生


比较

用服务做系统的最基本模块,相对于面向对象而言,引用了几个无关:

1、与技术无关。只要把服务的接口暴露出来,无论是c#还是Java,都可以引用

2、与版本无关

3、与平台无关

三个无关进一步降低了模块与模块之间的耦合

定义

本质是一种公开发表接口、且提供查询的组件模型。它将应用程序的不同功能(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

作用

它的精髓是严格的松散耦合。

特性

每个服务具有明确的边界

服务的公共接口和服务内部专用实现之间的界限。这样服务与技术、位置无关,客户端无法知道服务端使用的技术和位置和运行平台,降低了耦合

服务是独立的

运行时是独立的,不需要依赖服务外部或服务组件,部署和版本不受服务系统的影响

采用标准的契约定义和通信协议

服务是自解释的

原文地址:https://www.jb51.cc/vb/257171.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐