設計模式(建立型模式)——建造者模式(Builder)

工廠類模式提供的是建立單個類的模式,而建造者模式則是將各類產品集中起來進行管理,用來建立複合對象,所謂複合對象就是指某個類具備不一樣的屬性,其實建造者模式就是前面抽象工廠模式和最後的Test結合起來獲得的。咱們看一下代碼:java

還和前面同樣,一個Sender接口,兩個實現類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());  
        }  
    }  
}

測試類:ui

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

從這點看出,建造者模式將不少功能集成到一個類裏,這個類能夠創造出比較複雜的東西。因此與工廠模式的區別就是:工廠模式關注的是建立單個產品,而建造者模式則關注建立符合對象,多個部分。所以,是選擇工廠模式仍是建造者模式,依實際狀況而定。code

相關文章
相關標籤/搜索