• SOA系列四:面向服务于面向对象


    面向服务原则与面向对象原则的关联表 
     

    面向服务原则

    相关的面向对象原则

    服务复用性

    多数面向对象倾向可复用类的创建。面向对象的模块化原则将标准化组合作为应用设计的方法

     相关的原则,类似抽象与封装,进一步支持复用需要接口与实现逻辑分离。服务复用性因此是这一目标的延续。

    服务契约

     服务契约需求与构建应用时的接口使用非常相似。与WSDL定义很相像,接口提供一个抽象的类描述方法。并且与SOA之内鼓励“WSDL优先”方法很相像,“接口优先”也是面向对象最佳实践中要考虑的方法

    服务松耦合

    尽管接口的创建某种程度上将一个类与消费者进行耦合,但整体上讲耦合是面向服务区别于面向对象的一个主要品质。

    服务抽象

    面向对象的抽象原则需要一个类提供一个接口给外部世界,并通过这个接口来访问。封装依靠建立信息隐藏的概念支持这一原则,在类内部的未经接口暴露的任何逻辑,外部世界都不可访问。

    服务可组合性

    面向对象支持联合概念,类似聚合与组合。这些,在松散耦合的语境之内,也靠面向服务支持。

     例如,对象层次也能够以同样的方式进行组合,服务的层次能够通过服务进行组装组合。

    服务自治

    自治的品质在面向服务中,比在面向对象中,更受重视。处理逻辑间的独立性水平有可能通过面向服务来完成,利用服务间的松散耦合关系;

     跨对象的引用及面向对象设计中的内在关联依赖,支持更低程度的对象级自治。

    服务无状态

    对象包含类与数据的联合,并且自然是有状态的,促进服务内的无状态因此倾向于背离型的面向对象设计。

       尽管有可能创建有状态的服务和无状态的对象,但无状态的原则一般更在面向服务中强调。

    服务可发现

     设计类接口与自描述的协调是另一个面向对象最佳实践,提高识别方法与区别处理逻辑单元。这些品质也支持依赖于允许类复用以使其更易于发现。

     可发现是面向服务示例所强调的另一个实践,他鼓励服务契约尽可能通信在设计时和运行时支持可发现。


      面向服务明显有若干植根于面向对象,并且典型的面向服务解决方案包含面向服务(附属于面向服
    务原则)与面向对象组合的混合。作为设计的平衡,每个原则系统都可以被适当定位并利用相互补充
    和支持。
  • 相关阅读:
    vue-cli3 打包路径参数说明
    vuex使用map在module的模式下的写法
    普通的JS文件中使用vuex
    vue cli 3+ 版本的source map添加方法
    vue-cli的安装及版本查看/更新
    搭建一个vue项目
    无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    Centos7开放及查看端口
    记录一次idae和maven设置的巨坑
    解决npm安装node-sass太慢及编译错误问题
  • 原文地址:https://www.cnblogs.com/GeneralXU/p/1231580.html
Copyright © 2020-2023  润新知