Update 01. 考虑使用静态工厂方法替代构造方法.md

This commit is contained in:
Joe 2019-08-05 10:09:05 +08:00 committed by GitHub
parent dea7c2c1e1
commit f932527b58
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` 的一些子类。
  **静态工厂的第 5 个优点是,在编写包含该方法的类时,返回的对象的类不需要存在。** 这种灵活的静态工厂方法构成了服务提供者框架的基础,比如 Java 数据库连接 APJDBC。服务提供者框架是提供者实现服务的系统并且系统使得实现对客户端可用从而将客户端从实现中分离出来。
  **静态工厂的第个优点是,在编写包含该方法的类时,返回的对象的类不需要存在。** 这种灵活的静态工厂方法构成了服务提供者框架的基础,比如 Java 数据库连接 APJDBC。服务提供者框架是提供者实现服务的系统并且系统使得实现对客户端可用从而将客户端从实现中分离出来。
  服务提供者框架中有三个基本组:服务接口,它表示实现;提供者注册 API提供者用来注册实现以及服务访问 API客户端使用该 API 获取服务的实例。服务访问 API 允许客户指定选择实现的标准。在缺少这样的标准的情况下API 返回一个默认实现的实例,或者允许客户通过所有可用的实现进行遍历。服务访问 API 是灵活的静态工厂,它构成了服务提供者框架的基础。