Заводские методы часто бывают хорошими. Когда я пишу их на C #, я называю их «New», так что:
new MyClass()
становится
MyClass.New()
Тривиально это реализовано так:
class MyClass
{
public static MyClass New()
{
return new MyClass();
}
}
В основном, я делаю это, когда есть дополнительные условия о том, действительно ли создать класс или просто вернуть null
, или вернуть MyClass
или что-то производное от него.