0006JDK源码分析之服务提供者框架
Posted Java框架源码分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0006JDK源码分析之服务提供者框架相关的知识,希望对你有一定的参考价值。
本文介绍基于静态工厂方法实现的服务提供者框架,阐述该框架的定义、基本组件这些基本概念,然后给出一个简单实现的案例,最后结合JDBC的实现分析该框架的应用场景。
本文大纲:
一、定义
二、基本组件
三、简单实现
四、JDBC案例
一、定义
多个服务提供者实现一个服务,系统为服务提供者的客户端提供多个实现,并把他们从多个实现中解耦。
二、组件
服务接口(Serviceinterface):这是服务提供者需要实现的接口。
服务提供者接口(ServiceProvider Interface):这是服务提供者负责创建其服务实现的实例接口。
提供者注册API(Provider Registration API):这是系统用来注册提供者的入口。
服务访问API(Service Access API):这是客户端获取服务实例的入口。
三、简单实现
1、类图
2、Java代码实现
服务接口代码如下:
服务提供者接口代码如下:
服务管理者代码如下:
四、JDBC案例
1、类图
2、应用场景描述
JDBC是应用了服务提供者框架的一个现实案例,Connection是JDK提供的操纵数据库的服务接口,不同的数据库的服务接口实现是不同的,如mysql和ORACLE;Driver是JDK提供的服务提供者接口,MYSQL和ORACLE也是有各自不同的实现机制,但最终都是提供Connection服务实例;DriverManager是JDK提供的服务管理者类,DriverManager.registerDriver是提供者注册API;DriverManager.getConnection是服务访问API。该框架将服务提供者从客户端进行了解耦,客户端需要什么服务,就只需要注册相应的服务提供者,然后就可以取得相应服务,易于拓展。
五、总结
本文介绍了服务提供者的的定义,基本组件,以及案例分析,相信大家也对该框架有了一定的了解,最重要还是结合业务应用,不断实战,才可以灵活应用。
以上是关于0006JDK源码分析之服务提供者框架的主要内容,如果未能解决你的问题,请参考以下文章