第一条,考虑静态工厂类代替构造器
作者:
山楂mm | 来源:发表于
2017-12-19 00:27 被阅读0次用静态工厂类代替构造器有4个优点:
- 静态工厂类有自己的名称,可以望文生义,清楚创建实例的错用
- 采用静态工厂类创建实例的时候,可以不总创建新的实例。比如单列模式
- 静态工厂类创建实例可以返回它们的子类型,可以不关心实例的具体实现。例如:
public class Fruit {
private Fruit(){}
public static Fruit(int color) {
if(color == 0) {
return new Apple();
} else {
return new Orange();
}
}
}
- 采用静态工厂类创建实例可以使代码更简洁。例如可以简化复杂的API。
用静态工厂代替构造器有2个缺点
- 由于没有公有的或者受保护的构造函数,该类不能被子类化,也就是该类不能被继承。
- 由于静态工厂类和普通类没有区别,所有要查明该类是如何实例化的比较困难。
本文标题:第一条,考虑静态工厂类代替构造器
本文链接:https://www.haomeiwen.com/subject/zyivwxtx.html
网友评论