1
我只是想知道这些创建实例的方法是否是“更好”的解决方案,如果是的话,为什么?创建实例的方法是“更好”的方法,为什么?
method 1: MyClass myClass = new MyClass();
method 2: MyClass myClass2 = MyClass.Create();
public class MyClass
{
public string Name { get; set; }
public static MyClass Create()
{
return new MyClass();
}
}
此致
这两种方法在你的情况没有区别。 –
有时候,一种方式更好,另一种方式更好。两种方法之间的区分充其量是主观的。当没有东西强迫选择时,方法2允许构造函数成为实现细节(这有时更清晰)。通常我会使用构造函数,除非我有充分的理由去使用辅助方法。 – Richard
@RahulTripathi - 在这种情况下没有区别,但是'Create'方法通常可以有更多逻辑来返回派生自'MyClass'的类型,甚至是'null' - 构造函数不能返回。 –