【发布时间】:2010-01-17 06:54:44
【问题描述】:
我在一个项目中有几个类应该只创建一次。
最好的方法是什么?,
- 可以将它们创建为静态对象。
- 可以创建为单例
- 可以创建为全局。
实现这一点的最佳设计模式是什么?
我正在考虑将所有类创建为单例,但这会创建很多单例。有很多单例是一种好的编程习惯吗?
使用单例的优缺点是什么?
【问题讨论】:
-
为什么只创建一次?
-
很多单例有时可能表明设计不佳;也称为“代码气味”
-
您应该将它们作为指向这些线程的指针传递。如果它们没有必须是全局的,请不要将它们设为单例。
-
@jalf,这门课呢?
struct uhoh { uhoh(){static bool firstTime = true; if (!firstTime) make_computer_splode(); firstTime = false; } };:)