单身人士是个坏消息。
- 他们将全局状态引入程序。大多数程序员应该熟悉为什么全局状态不好。
- 它们在单例和使用它的任何类之间引入了紧密的耦合。这意味着您不能在不重用单例的情况下重用有问题的类。
- 它们使依赖单例的类的单元测试成为问题,因为您无法轻松地用模拟替换单例。
- 它们鼓励类尝试尝试解决自己的依赖关系的编码方式。这很不好,因为它可以降低有关类具有哪些依赖项的清晰度。
- PHP具有“无共享”架构,这意味着PHP单身人士根本不是真正的单身人士,任何时候都可以存在多个实例(每个打开的请求一个)。
- 如果您在以后的某个日期突然发现实际需要的资源不止由单例提供的一种资源,会发生什么?这是比您想象的更常见的情况
您最好改用依赖项注入,因为它可以解决上述问题。



