游戏开发中的设计模式——3.单例模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Say__Yes/article/details/78428758

上一篇文章说到了外观模式类,这里我们使用单例模式来使该外观类的访问更加简单。那为什么这里会使用单例模式呢,这是因为该外观类的功能不需要再进一步进行拓展,所以考虑使用单例模式来管理此类。关于单例模式的基础学习可参考下面的两篇博文:
http://blog.csdn.net/carson_ho/article/details/52223097
http://blog.csdn.net/iblade/article/details/51107308
外观类(GameFaced)更改如下:

/// <summary>
/// 游戏上的外观模式类
/// </summary>
public class GameFaced{

    private GameFaced() { }//构造函数私有化

    //使用单例模式来使该外观类的访问更加简单方便(因为该类的功能不需要再进一步进行拓展,所以考虑使用单例模式)这里使用的是饿汉式单例模式。
    private  static GameFaced _instace = new GameFaced();
    public static GameFaced Instace{   get {return _instace; }}

    private bool isGameOver = false;//游戏是否结束
    public bool IsGameOver{  get{ return isGameOver; } }

    /// <summary>
    /// 初始化函数,初始化管理的各个子系统(具体状态内容还待开发。。。)
    /// </summary>
    public void Init() { }

    /// <summary>
    /// 子系统状态更新方法
    /// </summary>
    public void Update() { }

    /// <summary>
    /// 更换子系统状态时释放资源方法
    /// </summary>
    public void Release() { }
}

这节的单例模式也没什么好说的,很简单。该模式我已经在Github的项目中更新。注:整个Demo项目我会放在Github上,可自行下载学习:https://github.com/MrZhiFu/Design-Patterns-In-the-game;建议下载压缩文件形式

猜你喜欢

转载自blog.csdn.net/Say__Yes/article/details/78428758