一直想静下心来学设计模式,可是一方面在项目开发中几乎很少用到,另一方面总觉得这东西理解起来很困难(太抽象了吧),断断续续的把23种设计模式前面的几个学了一下,但一段时间后又忘光了,又需要重新学,总是记不住,很苦恼。说这东西不重要吧,他又是程序员的基础功底,说他重要吧,我总感觉在实际项目用的很少(迄今为止用的最多的好像也就是单例模式了)。请教公司大佬,大佬跟我说:“这东西不用刻意去学,多写几个项目,你之后写代码就会自然而然的用到这些东西”。想了一想,觉得还是自己学一遍吧,整理到博客上加强自己的印象,督促自己学习。
【单例模式】
单例是设计模式里我觉得最简单的,后来我发现我太天真了,还有各种懒汉、饿汉、加锁。。。。。。不过我不打算学习整理那些,用到再说。我理解的单例模式就是把这个类变得易于访问,能够方便的访问类里的变量和方法。
一个简单的单例(继承自MonoBehaviour )
public class DesignMode_SingleTon : MonoBehaviour {
public static DesignMode_SingleTon instance;
private void Awake()
{
instance = this;
}
}
不继承自MonoBehaviour的
public class DesignMode_SingleTon {
private static DesignMode_SingleTon instance;
public static DesignMode_SingleTon Instance
{
get
{
if (instance == null)
{
instance = new DesignMode_SingleTon();
}
return instance;
}
}
/// <summary>
/// 私有化构造函数,使这个单例类不能在外部new新对象
/// </summary>
private DesignMode_SingleTon()
{
}
}
这样就是声明了一个简单的单例类了,我们在外界可以通过类名+instance访问类里的变量或者方法(当然,你必须声明为public)