Effective Java-考虑用静态工厂方法代替构造器

public static Boolean valueOf(boolean b) {
  return b ? Boolean.TRUE : Boolean.FALSE;
}
//使用构造器
Boolean b1 = new Boolean(true);
//使用静态工厂方法
Boolean b2 = Boolean.valueOf(true);

优点1:它们有名称

优点2:不必每次都创建新对象

优点3:构成基于接口的框架

服务提供者框架(Service Provider Framework)——代表(JDBC)

优点4:创建泛型类实例的代码更为简洁

//使用构造器创建
Map> m1 = new HashMap>();
//使用静态工厂方法创建
Map> m2 = HashMap.newInstance();
 
public static  HashMap newInstance() {
  return new HashMap();
}

服务提供商框架:

服务接口:提供者实现的,connection

提供者注册API:系统用来注册实现的,DriverManager.registerDriver

服务访问API:客户端用来访问获取服务的实例,DriverManager.getConnection

服务提供者接口:提供者负责创建其服务实现的实例,Driver

 

你可能感兴趣的:(java)