意图
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性.
建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。
使用前面工厂模式里的接口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()); } } }
转自:http://blog.csdn.net/zhangerqing/article/details/8194653