静态工厂方法代替构造器
来源:互联网 发布:关闭端口的命令 编辑:程序博客网 时间:2024/05/16 12:00
静态工厂方法的优势:
1它们有名称,表意更清楚。
2不必在每次调用它们的时候都创建一个新对象
3它们可以返回原返回类型的任何子类型的对象。
4在创建参数化类型实例的时候,它们是代码变得更加简单。
缺点:
1类如果不含有公有的或者受保护的构造器,就不能被子类化
2它们与其他的静态方法实际上没有任何区别,不方便辨认。
服务提供者框架简介:
服务提供者框架有三个重要的组件:服务接口,这是提供者实现的,供客户使用的,
提供者注册API,这是系统用来注册实现,让客户端访问他们的;服务访问API,是客户端用来获取服务的实例的。
例子:
public interface Service { //some method}
public interface Provider { Service newService();}
public class Services { private Services() { } private static final Map<String, Provider> providers = new ConcurrentHashMap<>(); public static final String DEFAULT_PROVIDER_NAME="<def>"; public static void registerDefaultProvider(Provider p){ registerProvider(DEFAULT_PROVIDER_NAME,p); } public static void registerProvider(String name,Provider p){ providers.put(name,p); } public static Service newInstance(){ return newInstance(DEFAULT_PROVIDER_NAME); } public static Service newInstance(String name){ Provider p=providers.get(name); if(p==null) throw new IllegalArgumentException("No provider registered with name: "+name); return p.newService(); }}
阅读全文
0 0
- 用静态工厂方法代替构造器
- 用静态工厂方法代替构造器
- 用静态工厂方法代替构造器
- 用静态工厂方法代替构造器
- 静态工厂方法代替构造器
- 考虑使用静态工厂方法代替类的构造器
- 考虑使用静态工厂方法代替构造器
- 01、考虑用静态工厂方法代替构造器
- 考虑用静态工厂方法代替构造器
- [Effective Java]考虑用静态工厂方法代替构造器
- 【代码优化】考虑使用静态工厂方法代替构造器
- 第一条:考虑用静态工厂方法代替构造器
- 考虑用静态工厂方法代替构造器
- 《Effective Java》-考虑用静态工厂方法代替构造器
- 第一条:用静态工厂方法代替构造器
- 静态工厂方法代替构造器的总结
- 第一条:考虑用静态工厂方法代替构造器
- 考虑用静态工厂方法代替构造器
- oracle中exists
- Laravel队列处理
- React Native Navigator
- JSP Cookie 处理
- OpenGL内核模式学习笔记第1篇——开发环境的配置
- 静态工厂方法代替构造器
- 记录我的第一篇
- android模拟器failed to make and chown /acct/uid: Read-only file system的原因
- Python中的NULL和None
- SpringBoot使用logback实现日志按天滚动
- 各种查找算法-Java-顺序、二分、二叉排序树查找
- 2002: [Hnoi2010]Bounce 弹飞绵羊
- Ubuntu16.04安装后的工作
- hdu 5816 Hearthstone 状压DP+记忆化搜索