【ITOO】S0A

   在ITOO中,会使用到四项技术,分别是WCFMVCDTO以及EF。所以,非常有必要总结一下它们,对其有一个大概的了解。这篇文章主要写的是SOA,咱们饮水思源,也正因为SOA思想的诞生,才有了现在的Web Service和WCF技术。。


   背景

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

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

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


   定义

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


   作用

   它的精髓是严格的松散耦合。它就相当于客户端和服务端的中间件,当客户端需要服务端的某项服务时,只需要向SOA打声招呼就可以了。

   举一个很简单的比喻。咱们去浪淘沙请米老师吃饭,米老师想吃啥,就直接给服务员说就可以了,不必要给厨师说。这个服务员就是SOA


   特性

   1、每个服务具有明确的边界

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

   2服务是独立的

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

   3采用标准的契约定义和通信协议。这个就是ITOO服务端的service

   4服务是自解释的。还不明白,大神赐教??


   SOA VS OO

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

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

   2、与版本无关。无论是旧版本,还是它的弟弟

   3、与平台无关。无论是.NET,还是Java

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


   总结

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

你可能感兴趣的:(SOA,VB.NET)