Test Data Builder パターンの長所を支持するブログ 投稿をたくさん読んできました。良い考えのように思えますが、すべての投稿は何年も前のものです。
C# がObject Initializesを導入したとき、Test Data Builder パターンは廃止されましたか?
オブジェクト初期化子が登場する前は、人物オブジェクトを初期化するために次のコードが必要でした。
Person p = new Person("John", "Doe", "555-555-1234");
当時、ビルダーを使用すると、次のようにコードがクリーンアップされます。
Person person = new PersonBuilder()
.WithFirstName("John")
.WithLastName("Doe")
.WithPhoneNumber("555-555-1234");
オブジェクト初期化子を使用すると、ビルダー メソッドを記述しなくても次のようになります。
Person p = new Person() {FirstName="John", LastName="Doe", Phone="555-555-1234"};
この単純な例では、ビルダー パターンは必要ないように見えます。何か不足していますか?人々はまだビルダーパターンを使用していますか? もしそうなら、どのような利点がありますか?