服务提供者框架(Service Provider Framework)
服务提供者框架是指:多个服务提供者实现一个服务,系统为客户提供多个实现, 并把它们从多个实现中解耦出来。服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性。如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)相关推荐
- Sharepoin学习笔记—架构系列—06 Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1
Sharepoint服务是Sharepoint的重要组成,可以说Sharepoint的许多网站功能都是基于这些服务构架起来的.这里把Sharepoint服务的相关要点总结一下. 1.什么是 Share ...
- Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1
Sharepoin学习笔记-架构系列-Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1 Sharepoint服务是Sha ...
- Sharepoin学习笔记—架构系列—07nSharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2
上一篇我们以问答的方式明确了Sharepoint服务的一些概念,这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一.Sharepo ...
- Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2
上一篇我们以问答的方式明确了Sharepoint服务的一些概念,这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一.Sharepo ...
- 静态工厂方法之服务提供者框架
静态工厂返回的对象所属的类,在编写包含该静态工厂方法的类的时候,可以不必存在.这种灵活的静态工厂方法构成了服务提供者框架的基础,例如JDBC的API.服务提供者框架是指这样一个系统:多个服务提供者实现 ...
- Laravel Service Provider 概念详解
https://learnku.com/articles/6189/laravel-service-provider-detailed-concept-收藏一下 我们知道, Container 有很多 ...
- Java服务提供_JAVA 服务提供者框架介绍
服务提供者框架是指:多个服务提供者实现一个服务,系统为客户端提供多个实现,并把他们从多个实现中解耦出来.服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性.例如,JDBC,JMS等就是用 ...
- java provider_Java SPI(Service Provider Interface)
//ServiceLoader实现了Iterable接口,可以遍历所有的服务实现者 public final class ServiceLoader implements Iterable{//查找配 ...
- 实体框架(Entity Framework)简介
实体框架(Entity Framework)简介 实体框架(Entity Framework)简介 简称EF,与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO. ...
最新文章
- CentOs上搭建git服务器
- 大牛是怎么思考设计MySQL优化方案
- 【NLP】一文速览 | 对话生成预训练模型
- K8S部署工具:KubeOperator系统设置
- python里pip是什么意思_python使用pip的方法是什么
- pat 乙级 1026 程序运行时间(C++)
- 图元和片元_OpenGL渲染流水线中顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)的含义...
- 简洁的c++http协议获取内容(一)
- lamp环境搭建之配置apache与fpm方式的php
- 支持java浏览器_如何为浏览器安装支持JAVA的插件
- 计算机基础是五笔吗,计算机基础 五笔一.ppt
- 软件测试流程及规范-01
- 【破解手记】普利尼,破解手记[1]
- 数据报表开发技巧:自动为数据报表添加【小计】、【总计】行
- 为什么不太建议你通过 Python 去找工作?
- HP 1022N 网络打印机安装步骤
- Cesium源码解读系列(一):GeoJsonDataSource如何处理geojson格式的数据
- 基于H.264的嵌入式无线视频监控系统
- gb和gib的区别_KB/KiB,MB/MiB,GB/GiB,它们有区别吗?
- Latex学习笔记(七)参考文献模板
热门文章
- Nutch的安装和配置
- 浅谈Logistic回归及过拟合
- 使用Kotlin对ViewGroup的视图进行函数使操作
- 散列表查找的一个实例
- #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
- 基于cookies的小型购物车程序
- python和java哪个好学、零基础-老男孩零基础学习|python和java那个更有发展前景?...
- python代码写好了怎么运行不了-python代码可以直接运行吗 Python写了代码如何运行...
- python游戏最简单代码-用python写游戏脚本原来这么简单
- python官网下载步骤64位-windows下载并安装Python的具体步骤