【问题标题】:Are there any downsides to the singleton pattern? [duplicate]单例模式有什么缺点吗? [复制]
【发布时间】:2011-01-21 13:43:05
【问题描述】:

可能的重复:
What is so bad about Singletons
Problems with Singleton Pattern

单例模式有什么缺点吗?我听说这是一个面试问题,我不知道是什么意思。

恕我直言,这是关于用法的问题,模式本身没有任何问题

【问题讨论】:

标签: design-patterns singleton


【解决方案1】:

来自Wikipedia

有些人认为它是一种反模式, 判断它被过度使用, 引入了不必要的限制 一个唯一实例的情况 类实际上不是必需的,并且 将全局状态引入 应用。

就我个人而言,自从我开始使用 Spring 来自动连接我的应用程序以来,我从来不需要编写单例。

【讨论】:

    【解决方案2】:

    这是一个非常笼统的问题,它实际上取决于您的用例。我会引用以下内容:

    • 您总是需要一个互斥锁(或同步块)来保护初始 getInstance() 调用,这在某些情况下可能会出现问题。
    • 隐藏您正在创建全局变量的事实是一种技巧,而全局变量通常不好。但是,在许多情况下,它们带来的简单性是可观的,但请注意不要滥用它们。

    【讨论】:

      【解决方案3】:
      1. 不可测试或至少很难测试
      2. 很难找到依赖类
      3. 不允许子类化
      4. ...

      【讨论】:

        猜你喜欢
        • 2020-08-07
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        • 2016-03-30
        • 2014-08-28
        • 2011-04-26
        • 2011-02-28
        • 1970-01-01
        相关资源
        最近更新 更多