我在一个项目中有一些应该只创建一次的类.
这样做的最佳方式是什么?
实现这个的最佳设计模式是什么?
我正在考虑将所有类创建为单例,但这会产生很多单例.拥有大量单身人士是一种很好的编程实践吗?
使用单身人士的利弊是什么?
如果他们只需要创建一次,那并不强制他们应该是单身.
如果您需要只有一个类的实例,并且可以全局访问,请使用单例.在你的情况下,只需要一个是不够的理由.全球都很糟糕,单身人士是美化全球的.
大多数情况下,你不需要它们.你会在糟糕的代码中看到很多因为心态:我只需要一个,这必须意味着我应该让它成为单身人士!(错)例如,我已经完成了迄今为止我所做过的最强大的游戏引擎的技术设计.它有2个单体,用于记忆和线程.一个非常大的项目,我只有两个!
更多背景将帮助我们为您提供更好的信息.
我建议你看一下Google的MiškoHevery所做的一些视频和文章.首先是视频:"清洁代码会谈:全球状态和单身人士"和他的博客.
一般的共识是,Singletons在少数情况下是可以的,例如日志记录,但在大多数其他情况下,您希望使用依赖注入.单例使得测试代码变得更加困难,并且它们隐藏了依赖关系,因此您的类无法单独实例化.
| 归档时间: |
|
| 查看次数: |
2146 次 |
| 最近记录: |