代码之家  ›  专栏  ›  技术社区  ›  Mattias

如果不允许我使用Singleton模式,有哪些选择?[副本]

  •  1
  • Mattias  · 技术社区  · 15 年前

    可能重复:
    What's Alternative to Singleton

    如果不允许我使用Singleton模式,因为它不是很好的OOP,那么我的选择是什么?我经常有很多东西需要快速访问。如果我使用单例,我被告知它不好OOP,如果我引用这些东西,我会得到很多类和很多引用。

    有没有IDA?

    3 回复  |  直到 9 年前
        1
  •  5
  •   Reed Copsey    15 年前

    考虑使用 Inversion of Control via Dependency Injection . 这通常可以在很多地方使用,人们接触到单身汉。

        2
  •  1
  •   zwol    15 年前

    “它不是好的OOP”不是拒绝编码模式的好理由。面向对象编程对某些事情是有好处的,但绝不是对所有事情都有好处。

    tbh,我自己也不太喜欢Singleton,但不是因为它“不是很好的OOP”,而是因为它有许多与全局变量相同的缺点,加上额外的对象黏性。不过,我需要更多地了解您的应用程序的结构,以便就如何使用它给出建议。

        3
  •  0
  •   fdfrye    15 年前

    您总是可以使用更面向服务的方法,并托管一个可以定义为单例的服务,以处理多个调用方的各种工作项。。。

    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
    public class MySingleton : 
    {
    }