本文章,摘抄自:2018黑马程序最新面试题汇总
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,
所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的 Test 结合起来得到的。
1 public interface ISender { 2 3 public void Send(); 4 } 5 6 public class MailSender implements ISender { 7 8 @Override 9 public void Send() { 10 System.out.println("this is mail sender"); 11 } 12 13 } 14 15 public class SmsSender implements ISender { 16 17 @Override 18 public void Send() { 19 System.out.println("this is sms sender"); 20 } 21 22 }
1 import cn.silence.face.designmode.factory.common.ISender; 2 import cn.silence.face.designmode.factory.common.MailSender; 3 import cn.silence.face.designmode.factory.common.SmsSender; 4 5 public class Builder { 6 private List<ISender> list = new ArrayList<>(); 7 8 public void produceMailSender(int count) { 9 for (int i = 0; i < count; i++) { 10 list.add(new MailSender()); 11 } 12 } 13 14 public void produceSmsSender(int count) { 15 for (int i = 0; i < count; i++) { 16 list.add(new SmsSender()); 17 } 18 } 19 20 }
测试方法:
1 @Test 2 public void testBuilder() { 3 Builder builder = new Builder(); 4 builder.produceMailSender(10); 5 }