Unity【话大】设计模式之单例模式

前言:笔者在最开始写程序的时候经常会遇到一种情况,例如更改一个字段、或者添加一种小功能,就要把原来写过的东西几乎废弃掉,或者更改大量以前写过的代码。又或者自己写的东西时间久了再去回顾,完全找不到到时为什么这么写的头绪,如果遇到了Bug更是无法快速定位在哪里小范围出现的问题。如果你也经常遇到这种问题,就说明你现阶段非常需要学习下设计模式了

在网上经常说的设计模式有23种,也有一些更多的设计模式,无非也是从这些设计模式中变种而来。如果让笔者来形容什么是设计模式,我认为设计模式是:一种思想,一种模式,一种套路,一种解决问题的高效策略



有说的不正确或者不准确的地方欢迎留言指正


有什么有趣的写作技巧或者想法欢迎大家给我留言,大家的帮助是我写下去最有效的动力



固定写法,所以直接写示例

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Singleton
{
    public const string Name = "Singleton";
    static Singleton() { }
    protected Singleton() { }
    protected static volatile Singleton instance = null;
    protected readonly object syncRoot = new object();
    protected static readonly object staticSyncRoot = new object();

    public static Singleton Instance
    {
        get
        {
            if (instance == null)
            {
                lock (staticSyncRoot)
                {
                    if (instance == null)
                    {
                        instance = new Singleton();
                    }
                }
            }
            return instance;
        }
    }
}


public class SingletonMonoBehaviour : MonoBehaviour
{
    public const string Name = "SingletonMonoBehaviour";
    private static volatile SingletonMonoBehaviour instance = null;
    public static SingletonMonoBehaviour Instance
    {
        get
        {
            return instance;
        }
    }

    private void Awake()
    {
        instance = this;
    }

    private void Start()
    {

    }
}

你可能感兴趣的:(Unity【话大】设计模式之单例模式)