服务提供者框架是指:多个服务提供者实现一个服务,系统为客户提供多个实现, 并把它们从多个实现中解耦出来。服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性。如JDBC,JMS等就是服务提供者框架。

通常有四个要素

Service Interface 服务接口,将服务通过抽象统一声明,供客户端调用,由各个服务提供者具体实现
Provider Registration API 服务提供者注册API,用于系统注册服务提供者,使得客户端可以访问它实现的服务
Sevcie Access API 服务访问API,用户客户端获取相应的服务
Service Provider API 服务提供者接口,这些服务提供者负责创建其服务实现的实例(可选)

JDBC中,Connection是服务接口,DriverManager是服务提供者注册,com.sql.jdbc.Driver是服务提供者,DriverMangager.getConnection属性服务访问API

服务提供者框架(Service Provider Framework)相关推荐

  1. Sharepoin学习笔记—架构系列—06 Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1

    Sharepoint服务是Sharepoint的重要组成,可以说Sharepoint的许多网站功能都是基于这些服务构架起来的.这里把Sharepoint服务的相关要点总结一下. 1.什么是 Share ...

  2. Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1

    Sharepoin学习笔记-架构系列-Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1 Sharepoint服务是Sha ...

  3. Sharepoin学习笔记—架构系列—07nSharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2

    上一篇我们以问答的方式明确了Sharepoint服务的一些概念,这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一.Sharepo ...

  4. Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2

    上一篇我们以问答的方式明确了Sharepoint服务的一些概念,这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一.Sharepo ...

  5. 静态工厂方法之服务提供者框架

    静态工厂返回的对象所属的类,在编写包含该静态工厂方法的类的时候,可以不必存在.这种灵活的静态工厂方法构成了服务提供者框架的基础,例如JDBC的API.服务提供者框架是指这样一个系统:多个服务提供者实现 ...

  6. Laravel Service Provider 概念详解

    https://learnku.com/articles/6189/laravel-service-provider-detailed-concept-收藏一下 我们知道, Container 有很多 ...

  7. Java服务提供_JAVA 服务提供者框架介绍

    服务提供者框架是指:多个服务提供者实现一个服务,系统为客户端提供多个实现,并把他们从多个实现中解耦出来.服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性.例如,JDBC,JMS等就是用 ...

  8. java provider_Java SPI(Service Provider Interface)

    //ServiceLoader实现了Iterable接口,可以遍历所有的服务实现者 public final class ServiceLoader implements Iterable{//查找配 ...

  9. 实体框架(Entity Framework)简介

    实体框架(Entity Framework)简介 实体框架(Entity Framework)简介 简称EF,与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO. ...

最新文章

  1. CentOs上搭建git服务器
  2. 大牛是怎么思考设计MySQL优化方案
  3. 【NLP】一文速览 | 对话生成预训练模型
  4. K8S部署工具:KubeOperator系统设置
  5. python里pip是什么意思_python使用pip的方法是什么
  6. pat 乙级 1026 程序运行时间(C++)
  7. 图元和片元_OpenGL渲染流水线中顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)的含义...
  8. 简洁的c++http协议获取内容(一)
  9. lamp环境搭建之配置apache与fpm方式的php
  10. 支持java浏览器_如何为浏览器安装支持JAVA的插件
  11. 计算机基础是五笔吗,计算机基础 五笔一.ppt
  12. 软件测试流程及规范-01
  13. 【破解手记】普利尼,破解手记[1]
  14. 数据报表开发技巧:自动为数据报表添加【小计】、【总计】行
  15. 为什么不太建议你通过 Python 去找工作?
  16. HP 1022N 网络打印机安装步骤
  17. Cesium源码解读系列(一):GeoJsonDataSource如何处理geojson格式的数据
  18. 基于H.264的嵌入式无线视频监控系统
  19. gb和gib的区别_KB/KiB,MB/MiB,GB/GiB,它们有区别吗?
  20. Latex学习笔记(七)参考文献模板

热门文章

  1. Nutch的安装和配置
  2. 浅谈Logistic回归及过拟合
  3. 使用Kotlin对ViewGroup的视图进行函数使操作
  4. 散列表查找的一个实例
  5. #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
  6. 基于cookies的小型购物车程序
  7. python和java哪个好学、零基础-老男孩零基础学习|python和java那个更有发展前景?...
  8. python代码写好了怎么运行不了-python代码可以直接运行吗 Python写了代码如何运行...
  9. python游戏最简单代码-用python写游戏脚本原来这么简单
  10. python官网下载步骤64位-windows下载并安装Python的具体步骤