单例模式的应用

Posted cglib

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式的应用相关的知识,希望对你有一定的参考价值。

  • 实例说明

  在中国历史上有一个很特殊的职业,通常其从业者有且仅有一人,那就是皇帝。本实例使用单例模式确保皇帝的唯一性。

  • 关键技术

  既然要保证类有且仅有一个实例,就需要其他类不能实例化该类。

  因此需要将构造方法设置成私有的,即使用private关键词修饰。同时在类中提供一个静态方法,该方法的返回值是该类的一个实例。这样就只能使用该方法来获得类的实例,从而保证了唯一性。

  • 设计过程

  (1)不考虑线程问题

  

技术图片
public class E_88 {
    private static E_88 e_88;
    private E_88(){}
    public static E_88 getInstance(){
        if(e_88 == null){
            e_88 = new E_88();
        }
        return e_88;
    }
}
View Code

  (2)对于多线程程序有时并不能保证实例的唯一性,此时需要同步。

  同步相关知识待后续补充。

以上是关于单例模式的应用的主要内容,如果未能解决你的问题,请参考以下文章

常用代码片段

片段作为 Android 中的单例

设计模式之单例模式

设计模式之单例模式

性能比较好的单例写法

设计模式之单例模式详解和应用