1、建造者模式:
工厂类模式提供的是创建单个类实例的模式,而建造者模式则是将
各种产品集中起来进行管理,用来创建复合对象。(所谓复合对象:
就是指某个类具有不同个的属性。)该模式的意图是:将一个复杂
对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。
实例一
// 定义一个发送接口
public interface Sender {
}
// 实现类一
public class MailSender implements Sender {
}
// 实现类二
public class SmsSender implements Sender {
}
// 定义建造者
public class Builder {
private List<Sender> list = new ArrayList<Sender>();
public void produceMailSender(final int count) {
for (final int i = 0; i < count;) {
this.list.add(new MailSender());
}
}
public void produceSmsSender(final int count) {
for (final int i = 0; i < count;) {
this.list.add(new SmsSender());
}
}
}
实际中使用建造者
public static void main(final String[] args) {
final Builder builder = new Builder();
builder.produceMailSender(10);
}
从以上实例可以看出,建造者模式将很多功能集成到一个类中,这个类可以创建出比较复杂的东西;
工厂模式关注的是创建单个产品,而建造者模式则关注创建复合对象(产品集)
public static void main(final String[] args) {
final Builder builder = new Builder();
builder.produceMailSender(10);
}