私はblogpostsのテストデータビルダパターンの長所を熟読しています。それは良いアイデアのようだが、すべての投稿は年をとっている。Object InitializersよりもTest Data Builderパターンのメリットは何ですか?
C#でObject Initializesが導入されたとき、Test Data Builderパターンは廃止されましたか?
Person person = new PersonBuilder()
.WithFirstName("John")
.WithLastName("Doe")
.WithPhoneNumber("555-555-1234");
:ビルダーは、このようなコードをクリーンアップしているだろう持つ、当時
Person p = new Person("John", "Doe", "555-555-1234");
:オブジェクト初期化子の前に、あなたは人のオブジェクトを初期化するために、次のコードを
を必要としているだろう
オブジェクトイニシャライザでは、ビルダーメソッドを記述しなくても、次のようになります。
Person p = new Person() {FirstName="John", LastName="Doe", Phone="555-555-1234"};
この単純な例では、ビルダーパターンは必要ないと思われます。何か不足していますか?人々はまだビルダーパターンを使用していますか?もしそうなら、どのような利点がありますか?
たとえば、不変オブジェクトを扱うときには、ビルダーはまだ良い選択肢です。 –
なぜこの質問を閉じるに投票しますか?それはよく書かれ、面白いIMOです。 – ken2k
@RogerAlsingあなたがその点を拡大した場合、それは良い答えになります。 – AlexFoxGill