反模式
Last updated
Was this helpful?
Last updated
Was this helpful?
如果模式代表了最佳实践,那么反模式就代表经验教训,或者用[Andrew Koenig](
如果使用单例模式,必须考虑以下挑战:
单例对象是一个全局对象。基于这个事实,单例的使用在(大多数情况下)接口中是不可见的。其结果是在使用单例的代码中隐藏了一个依赖项。
单例对象是静态的,因此一旦创建就不会被销毁。它的生命周期和程序的生命周期相同。
如果类的静态成员(如单例)依赖于在另一个单元中定义的静态成员,则不能保证先初始化哪个静态成员,那么每个静态成员初始化失败的概率是50%。
当类的实例可以完成任务时,通常会使用单例。许多开发者使用单例来证明自己了解设计模式。