Builderパターンとファクトリパターンの違い

彼らの目標は、オブジェクトを作成することです

工場出荷時のモデルは、全体的なアプローチに焦点を当ててオブジェクトを作成することで、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(198311 ))。
}

 

おすすめ

転載: www.cnblogs.com/fanfan-90/p/11999850.html