Czytałem grono blogposts przedstawiając zalety wzorca konstruktora danych testowych. Wydaje się, że to dobry pomysł, ale wszystkie posty mają lata.Jakie są zalety wzorca Konstruktora danych testowych nad Inicjatorami obiektów?
Po wprowadzeniu C# Object Initializes, spowodowało to, że wzorzec Konstruktora danych testowych stał się przestarzały?
Przed inicjatorów obiektu, to musiałaby poniższy kod, żeby zainicjować obiekt osoba:
Person p = new Person("John", "Doe", "555-555-1234");
W czasie, o budowniczego by oczyścić kod tak:
Person person = new PersonBuilder()
.WithFirstName("John")
.WithLastName("Doe")
.WithPhoneNumber("555-555-1234");
Teraz z inicjalizatorami obiektów może wyglądać tak bez pisania metod konstruktora:
Person p = new Person() {FirstName="John", LastName="Doe", Phone="555-555-1234"};
W tym prostym przykładzie wydaje się, że wzorzec budowniczego nie jest potrzebny. Czy czegoś brakuje? Czy ludzie nadal używają wzorca budowniczego? Jeśli tak, jakie są korzyści?
Konstruktorzy są nadal dobrym rozwiązaniem, gdy mamy do czynienia np. Z niezmiennymi obiektami. –
Dlaczego głosować, aby zamknąć to pytanie? To dobrze napisane i ciekawe IMO. – ken2k
@RogerAlsing, jeśli rozwinąłeś w tym punkcie, byłaby to dobra odpowiedź. – AlexFoxGill