单例设计模式

单例设计模式:

设计模式:

​ 一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式

​ 设计模式有23种,对应23种软件开发中会遇到的经典问题。

单例设计模式:确保一个类只有一个对象。

 
 

饿汉式单例:

饿汉式单例:拿对象时,对象早就创建好了。

饿汉式单例步骤:

1.构造器私有, 目的就是不让别人创建对象。

2.使用成员变量保存自己创建的单例对象。

3.提供方法返回单例对象给别人使用。

package com.ouyang.demo04;

//音乐播放器(单例),作用:让一个类只能创建一个对象
public class AudioPlayer {

    //1.构造器私有,目的就是不让别人创建对象
    private AudioPlayer(){

    }

    //2.使用成员变量保存自己创建的单例对象(类加载的时候就创建对象)
    //private保证别人不能修改该实例
    //static保证只有一份实例
    private static AudioPlayer instance=new AudioPlayer();

    //3.提供方法返回单例对象给别人使用
    //static 保证别人不需要创建对象,直接使用类名来调用该方法
    public static AudioPlayer getInstance(){
        return instance;
    }
}

 
 

懒汉式单例:

懒汉式单例:拿对象时,才开始创建对象。

package com.ouyang.demo04;

//视频播放器
public class VideoPlayer {
    //1.构造器私有
    private VideoPlayer(){

    }

    //2.使用静态变量保存单例对象
    private static VideoPlayer instance;//null

    //3.提供静态方法返回对象给别人使用
    // 懒汉式单例,拿对象使用时,才创建对象(晚)

    public static VideoPlayer getInstance(){
        //第一次调用这个方法会发现对象==nuLL,就会创建对象,后面这个对象就有值了,不再创建了
        if(instance==null){
            instance=new VideoPlayer();
        }
        return instance;
    }
}

上一篇:【Django】网上蛋糕商城后台-商品管理


下一篇:Memcached介绍与使用