彼らの目標は、オブジェクトを作成することです
工場出荷時のモデルは、全体的なアプローチに焦点を当ててオブジェクトを作成することで、Builderパターンは、オブジェクトを作成するプロセスに焦点を当てて、オブジェクト作成プロセスアプローチは自由に作成時に呼び出すことができます。
例えば、モデルビルダを見て理解します:
1つの パブリック クラスEmployeeBuilder 2 { 3 プライベート int型の ID = 1 。 4 プライベート 文字列 FIRSTNAME = " 最初" ; 5 プライベート 文字列の姓= 「最後」。 6 プライベート DateTimeの誕生日= DateTime.Today。 7 プライベート 文字列ストリート= 「ストリート」。 8 9 公共の従業員ビルド() 10 { 11 返す 新しい従業員(ID、ファーストネーム、姓、誕生日、通りを)。 12 } 13 14 公衆 EmployeeBuilder WithFirstName(文字列FIRSTNAME) 15 { 16 この .firstname = FIRSTNAME。 17は 返す これを。 18 } 19 20 公衆 EmployeeBuilder WithLastName(文字列LASTNAME) 21 { 22 この .lastname = LASTNAME。 23は 返す これを。 24 } 25 26 公衆EmployeeBuilder WithBirthDate(日時生年月日) 27 { 28 この .birthdate = 生年月日。 29は 返す これを。 30 } 31 32 公衆 EmployeeBuilder WithStreet(文字列通り) 33 { 34 この .street = 通り。 35は 返す これを。 36 } 37 38 パブリック 静的 暗黙 オペレータ従業員(EmployeeBuilderインスタンス) 39 { 40 リターンinstance.Build()。 41 } 42 }
コール:
ボイドメイン(){ 従業員EMP1 = 新しい EmployeeBuilder()。WithFirstName(" ケネス" ) .WithLastName(" Truyers " )。 従業員EMP2 = 新規。EmployeeBuilder()WithBirthDate(新規のDateTime(1983、1、1 ))。 }