我曾经像这样创建一个单例类的实例:
$Singleton = SingletonClassName::GetInstance();
对于非单例类:
$NonSingleton = new NonSingletonClassName;
我认为我们不应该区分我们如何创建一个类的实例,无论它是否是单例。如果我看一下其他类(class)的看法,我不在乎我们是否需要单例类(class)。所以,我仍然不满意 php 如何处理单例类。我想,我一直想写:
$Singleton = new SingletonClassName;
只是另一个非单例类,这个问题有解决方案吗?
最佳答案
最好反过来 - 提供 factory-method对于非单例,并使用以下方法获取它们的实例:
$NonSingleton = NonSingletonClassName::createInstance();
这是推荐的 Java 最佳实践(在 Effective Java 中),但它适用于大多数面向对象的语言。
关于php - 扩展单例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2584898/