欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式~简单单例设计模式

程序员文章站 2022-06-03 16:21:41
...

单例设计模式

单例作用:
保证在程序运行一个类最多只能存在一个对象,并且使访问更加方便。
什么是单利模式:
单一管理类,一般用于限制实例化对象只能在当前类中,并且只能实例化一个,单利方便我们不会去反复的实例化对象,造成不必要要的资源浪费。同时通过单利我们可以防止并发访问,什么是并发访问,就是在多线程中,不同的线程同时去实例化一个类的对象。单利类一般作为管理者使用。

通过代码去看看单利的模式,和使用方式:
简单单利:

class Singleton
{
    //创建单利的三个步骤
    //1.私有化构造方法
    private Singleton()
    {

    }
    //2.私有化静态成员变量
    private static Singleton instance;

    //3.封装只读属性
    public static Singleton Instance
    {
        get
        {
            if (null==instance)
            {
                instance = new Singleton ( );
            }
            return instance;
        }
    }
}

懒汉式写法,和泛型可继承单利

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//使用泛型方便管理不同类型的对象
//使用约束,来实现懒汉单利,便于直接创建对象
public class SingletonManagerScript<T> where T :new () {

    //干掉私有化可以使单利被继承
    //1.私有化构造
    //private SingletonManagerScript()
    //{

    //}

        //懒汉模式,直接实例化,不需要等待和判断
    //2.私有化静态成员
    private static T instance=new T ();
    //3.封装只读属性
    public static T Instance
    {
        get
        {
            //if (null==instance)
            //{
            //  instance = new SingletonManagerScript ( );
            //}
            return instance;
        }
    }

}