4 建造者模式(Builder)

工廠類模式提供的是創建單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來創建複合對象,所謂複合對象就是指某個類具有不同的屬性,其實建造者模式就是前面抽象工廠模式和最後的Test結合起來得到的

還和前面一樣,一個Sender接口,兩個實現類MailSender和SmsSender。最後,建造者類如下:
 
//接口
public interface Sender {
    public void Send();
}
//實現類1
public class MailSender implements Sender {
    public void Send() {
        System.out.println("mail sender");
    }
}
//實現類2
public class SMSSender implements Sender {
    public void Send() {
        System.out.println("SMS sender");
    }
}

 

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); 
    } 
} 

 

從這點看出,建造者模式將很多功能集成到一個類裏,這個類可以創造出比較複雜的東西。所以與工程模式的區別就是:工廠模式關注的是創建單個產品,而建造者模式則關注創建符合對象,多個部分。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章