首页 > 其他 > 详细

用工厂方法替代构造器

时间:2021-08-02 15:07:28      阅读:18      评论:0      收藏:0      [点我收藏+]

------------恢复内容开始------------

代码样例

public class Singleton {
    private static Singleton instance;

    private Singleton() {
    }

    public static Singleton getInstance() {
        instance = instance == null ? new Singleton() : instance;
        return instance;
    }
}

静态工厂方法相较于构造器的优势

优势1:它们有名字

如果构造器本身没有确切的描述正被返回的参数,那么具有适当名称的静态工厂方法会更容易使用,产生的客户端代码也具有易读性。

优势2:不必再每次调用的时候都创建一个新的对象

不可变类可以使用预先构建好的实例,或者将构建好的实例缓存起来,进行重复的利用,从而避免创建不必要的重复对象。

优势3:可以反回原返回类型的任意子类型

让我们在选择返回类型的时候具有很多灵活性。

优势4:所返回的对象的类可以随着每次调用而发生变化,取决于静态工厂方法的参数值

 

------------恢复内容结束------------

用工厂方法替代构造器

原文:https://www.cnblogs.com/donotlistentome/p/15089560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!