我偶尔看到的模式是这样的:
public class JustAnotherClass
{
private JustAnotherClass()
{
// do something
}
static JustAnotherClass GetNewClass()
{
return new JustAnotherClass();
}
}
为什么这会比仅拥有公共(public)构造函数更有优势?
最佳答案
Why would this ever give an advantage over just having a public constructor?
这是一个工厂模式。您有一个创建这些实例的点。
优点是在将来的扩展中您可以添加逻辑,例如返回派生类实例。或者在某些条件下返回null
。构造函数不能返回 null
。
关于c# - 使用通过私有(private)构造函数返回新实例的静态方法有优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671732/