【java】java設計モード(4):ビルダーモード(Builder)

2472 ワード

ファクトリクラスモードは単一クラスを作成するモードを提供し、コンストラクタモードは各種製品を集中して管理し、複合オブジェクトを作成するために使用される.複合オブジェクトとは、あるクラスが異なる属性を持っていることを意味し、実際にコンストラクタモードは前の抽象ファクトリモデルと最後のTestを結合して得られる.コードを見てみましょう.
前と同様に,1つのSenderインタフェース,2つの実装クラスMailSenderとSmsSenderもある.最後に、コンストラクタクラスは次のようになります.
public class Builder {  
      
    private List<Sender> list = new ArrayList<Sender>();  
      
    public void produceMailSender(int count){  
        for(int i=0; i<count; i++){  
            list.add(new MailSender());  
        }  
    }  
      
    public void produceSmsSender(int count){  
        for(int i=0; i<count; i++){  
            list.add(new SmsSender());  
        }  
    }  
}  

テスト:
public class Test {  
  
    public static void main(String[] args) {  
        Builder builder = new Builder();  
        builder.produceMailSender(10);  
    }  
}  

 
この点から,コンストラクタモデルは多くの機能を1つのクラスに統合し,このクラスは比較的複雑なものを創造することができる.したがって、エンジニアリングモデルとの違いは、ファクトリモデルが注目しているのは単一の製品の作成であり、コンストラクタモデルが注目しているのは、オブジェクトに合致する複数の部分の作成です.したがって,工場モデルと建設者モデルのどちらを選択するかは,実際の状況によって決まる.