单例模式的几点比较

本文探讨了单例模式与全局变量在项目管理、变量命名冲突、初始化顺序和多线程访问等方面的区别。单例模式作为全局变量的替代方案,提供了更可控的数据唯一性,减少了耦合度,并在多线程环境下提供了更好的管理方式。同时,文章强调了不应简单地将全局变量放入单例类,而应根据类的生存周期选择合适的设计模式。
摘要由CSDN通过智能技术生成

单例模式和全局变量:

全局变量是最容易引起初学者兴趣的了,在整个项目中,任何一个函数,每一行代码都可以轻易访问所有的全局变量,并且可以不用付出额外的代价,全局变量看起来就像是为懒惰的程序员设计的一条绿色通道,如果不想看到函数因为要与其他模块通信而动辄很多参数,或者像给程序始末的关键信息寻找一个最合适的存储位置,那么全局变量就是很好的解决方案

但是在项目中,全局变量肯定不少,这个时候,使用起来就会比较混乱,这个时候有一种方法就是创建一个类,其中都是可以使用的全局变量,当需要使用时,直接在类中添加就可以了,这个模式还是很好的,但是仍然有很多麻烦事

首先就是变量名的冲突,这个问题会使项目管理的成本大大增加,项目经理必须小心维护变量名规则,必须分析每一个变量的模块,程序还有肯定就是耦合度的问题了,这个全局变量大大增加了函数和模块之间的耦合度,访问某个全局变量的多个函数被该变量牢牢结合在一起,无法拆分开来

还有初始化的顺序,因为全局变量不可能保证相互之间遵循特定的初始化顺序,这个对于类与对象的实例,构造方法的电泳的顺序有时显得非常重要了</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值