zoukankan      html  css  js  c++  java
  • 建造者模式

    本文章,摘抄自: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     }
  • 相关阅读:
    jdk和dubbo的SPI机制
    何谓架构
    ElasticSearch的API使用
    LFU的基本原理与实现
    如何判断单向链表有环?
    mysql执行过程以及顺序
    原来 TinyPNG 可以这样玩!
    deno + mongodb 实战踩坑记
    好消息,vue3.0 进入 beta 阶段!
    听说会做这道题的人后来都进了头条?
  • 原文地址:https://www.cnblogs.com/ffeiyang/p/9542597.html
Copyright © 2011-2022 走看看