概述
第一条:考虑用静态工厂方法代替构造器
使用静态工厂方法的一个例子,是Singleton设计模式的实现,不必用New去创建对象,而是返回以一个实例。
另外值得注意的是,它可以返回原返回类型的任何子类型的对象,这里讲到了Service Provider Framework, 此框架的四个重要组件分别是:
1. 服务接口,由提供者进行实现。
2.服务提供者注册API,由系统来注册,让客户端访问。
3.服务访问API,是客户端用来获取服务的实例的。
4.服务提供者接口(可选),提供者负责创建其服务的实例。
以JDBC获得连接为例
Connection conn = DriverManager.getConnection();
应该会有类似以下这样的伪代码
public interface Connection{
public Statement createStatement();
...
}
public interface Driver{
public Connection getConnection();
...
}
public class DriverManager{
private Driver driver;
public static registerDriver(driver){
this.driver=driver;
}
public static Connection getConnection(){
return driver.getConnection();
}
...
}
这样就清晰了Connection为服务接口,Driver为提供者接口,regiseterDriver是提供者注册API,getConnection是服务访问API,这样JAVA程序员只需要关心JDBC的API就可以了,而各数据库厂商则只需关心如何实现JDBC接口,以上皆为个人理解,如有错漏希望能够指出。
最后
以上就是靓丽机器猫为你收集整理的服务提供者框架(Effective Java学习笔记)的全部内容,希望文章能够帮你解决服务提供者框架(Effective Java学习笔记)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复