Czy static factory method to rzeczywiście jest dobra praktyka? Osobiście całe życie tworzyłem obiekty przez new (o ile spring nie tworzył ich za mnie) ewentualnie korzystałem z buildera i argumenty jakoby static factory method miało być 'a way to encapsulate object creation' średnio do mnie trafia, ale skoro większość ludzi na stackoverflow tak twierdzi to możliwe, źe jednak to ja jestem w błędzie a nie oni. Podsumowując, czy lepiej tworzyć obiekt robiąc
var myDomainObject = new DomainObject("Jan", "Kowalski");
czy raczej
var myDomainObject = DomainObject.create("Jan", "Kowalski");
Co jest najlepszym sposobem? Czy zawołanie new to takie straszne zło? Czy fakt, źe static factory method to metoda statyczna nie sprawia, źe to jednak antypattern? Oczywiście zakładamy, źe kostruktor nie ma żadnej logiki, bo jeźeli by miał to pewnie ma to sens.