《Effective Java》服务提供者框架

Posted 力奋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Effective Java》服务提供者框架相关的知识,希望对你有一定的参考价值。

静态工厂方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不必存在。这种灵活的静态工厂方法构成了服务提供者框架(Service Provider Framework)的基础,例如JDBC API。服务提供者框架是指这样一个系统:多个服务提供者实现一个服务(接口),系统为服务提供者的客户端提供多个实现,并把他们从多个实现中解耦出来。

服务提供者框架中有四个重要的组件:

  • 服务接口(Service Interface),这是提供者实现的。如JDBC的Connection
  • 提供者注册API(Provider Registration API),这是系统用来注册提供者实现,让客户端访问它们的。如DriverManager.registerDriver
  • 服务访问API(Service Access API),是客户端用来获取服务的实例的。如DriverManager.get
  • 服务提供者接口(Service Provider Interface)这些提供者负责创建其服务实现的实例。这是可选的。如Driver

如果没有服务提供者接口,实现就按照类名称注册,并通过反射方式进行实例化。接口优于反射机制强烈建议使用服务提供者接口。

以上是关于《Effective Java》服务提供者框架的主要内容,如果未能解决你的问题,请参考以下文章

Effective Java1静态工厂的方式代替构造函数

Effective Java2读书笔记-类和接口

[读书笔记]Effective Java 第三章

带你快速看完9.8分神作《Effective Java》—— 序列化篇(所有RPC框架的基石)

[读书笔记]Effective Java 第四章

Effective Java - 静态方法与构造器