This commit is contained in:
GungnirLaevatain 2020-01-10 13:42:54 +08:00 committed by GitHub
parent af0af8089e
commit 0386750f10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,7 +40,7 @@ public static Boolean valueOf(boolean b) {
  这两个实现类的存在对于客户端而言是不可见的。 如果 `RegularEnumSet` 对于小的枚举类型不再具有性能优势,则可以在未来版本中将其淘汰,且不会产生任何不良影响。 同样,如果可以证明添加 `EnumSet` 的更多的实现可以提高性能,那么在未来的版本可能就会这样做。 客户既不知道也不关心他们从工厂返回的对象的类别; 他们只需要知道它是 `EnumSet` 的子类。
  **静态工厂的第五个优点是,在编写包含该方法的类时,返回的对象的类不需要存在。** 这种灵活的静态工厂方法构成了服务提供者框架的基础,比如 Java 数据库连接 APJDBC。服务提供者框架是提供者实现服务的系统并且系统使得实现对客户端可用从而将客户端从实现中分离出来。
  **静态工厂的第五个优点是,在编写包含该方法的类时,返回的对象的类不需要存在。** 这种灵活的静态工厂方法构成了服务提供者框架的基础,比如 Java 数据库连接 APIJDBC。服务提供者框架是提供者实现服务的系统并且系统使得实现对客户端可用从而将客户端从实现中分离出来。
  服务提供者框架中有三个基本组:服务接口,它表示实现;提供者注册 API提供者用来注册实现以及服务访问 API客户端使用该 API 获取服务的实例。服务访问 API 允许客户指定选择实现的标准。在缺少这样的标准的情况下API 返回一个默认实现的实例,或者允许客户通过所有可用的实现进行遍历。服务访问 API 是灵活的静态工厂,它构成了服务提供者框架的基础。