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

本文探讨了在游戏开发中为何使用单例模式来管理不需进一步拓展的外观类,以此简化访问。通过引用的两篇博文了解单例模式基础,并提供了修改后的外观类(GameFace)代码。整个示例项目已上传至Github,供学习参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇文章说到了外观模式类,这里我们使用单例模式来使该外观类的访问更加简单。那为什么这里会使用单例模式呢,这是因为该外观类的功能不需要再进一步进行拓展,所以考虑使用单例模式来管理此类。关于单例模式的基础学习可参考下面的两篇博文:
http://blog.youkuaiyun.com/carson_ho/article/details/52223097
http://blog.youkuaiyun.com/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;建议下载压缩文件形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值