`

java 建造者模式(Builder)

 
阅读更多

工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:

还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。最后,建造者类如下:

[java] view plaincopy
  1. public class Builder {  
  2.       
  3.     private List<Sender> list = new ArrayList<Sender>();  
  4.       
  5.     public void produceMailSender(int count){  
  6.         for(int i=0; i<count; i++){  
  7.             list.add(new MailSender());  
  8.         }  
  9.     }  
  10.       
  11.     public void produceSmsSender(int count){  
  12.         for(int i=0; i<count; i++){  
  13.             list.add(new SmsSender());  
  14.         }  
  15.     }  
  16. }  

测试类:

[java] view plaincopy
  1. public class Test {  
  2.   
  3.     public static void main(String[] args) {  
  4.         Builder builder = new Builder();  
  5.         builder.produceMailSender(10);  
  6.     }  
  7. }  

从这点看出,建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。所以与工程模式的区别就是:工厂模式关注的是创建单个产品,而建造者模式则关注创建符合对象,多个部分。因此,是选择工厂模式还是建造者模式,依实际情况而定。

分享到:
评论

相关推荐

    java实现建造者模式(Builder Pattern)

    主要为大家详细介绍了java实现建造者模式Builder Pattern,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java 设计模式-建造者模式(Builder)Android讲解

    Java 设计模式-建造者模式(Builder)结合Android小知识讲解,简单明了

    java设计模式【之】建造者模式【源码】【场景:车辆组装】

    java设计模式【之】建造者模式【源码】【场景:车辆组装】 将复杂的对象构建,与对象的使用进行分离 用户只需要通过简单流程即可创建出对象 方法调用顺序,步骤的不同实现 优点:封装性号,创建和使用分离,扩展性...

    Java设计模式之建造者模式(Builder模式)介绍

    主要介绍了Java设计模式之建造者模式(Builder模式)介绍,本文讲解了为何使用建造者模式、如何使用建造者模式、Builder模式的应用等内容,需要的朋友可以参考下

    Java设计模式之Builder建造者模式

    主要为大家详细介绍了Java设计模式之Builder建造者模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    69-Java设计模式之建造者 Builder1

    建造者又分两种,一种是有一个专门的类负责决定建造的顺序,如上例,有人可以决定建筑商先建什么,后建什么。代码如下(原谅我用拼音,这么做是不对的):房子类:园林类:

    设计模式-Builder模式demo

    demo中使用了设计模式中的建造者模式,代码非常精简,本地可正常运行,亲测有效!

    Java Builder Pattern建造者模式详解及实例

    主要介绍了Java Builder Pattern建造者模式详解及实例的相关资料,需要的朋友可以参考下

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    10、建造者模式BUILDER PATTERN 11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合模式COMPOSITE PATTERN 16、观察者模式...

    用Java实现23种设计模式

    建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2. 结构型模式 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 过滤器模式(Filter、Criteria Pattern) 组合模式(Composite ...

    23种java版设计模式源码案例.zip

    建造者模式(builder) 原型模式(prototype) 结构型模式(structure) 适配器模式(adaptor) 桥接模式(bridge) 组合模式(composite) 装饰器模式(decorate) 外观模式(facecade) 享元模式(flyweight) 代理模式(proxy) 行为...

    33种JAVA设计模式DEMO

    建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2 结构型模式 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 适配器模式(Adapter Pattern) 桥接...

    java设计模式教程+源代码

    Builder ( 建造者模式 ) Prototype ( 原型模式 ) Adapter ( 适配器模式 ) Bridge ( 桥接模式 ) Composite ( 组合模式 ) Decorator ( 装饰模式 ) Facade ( 外观模式 ) Flyweight ( 享元模式 ) Proxy ( 代理...

    Java面试 java设计模式整理 单例、工厂、策略等 面试使用,学习使用

    4.建造者模式(Builder) 4 5. 原型模式(Protype) 5 6.适配器模式(Adapter) 6 7.装饰模式(Decorator) 6 8.代理模式(Proxy) 7 9.外观模式(Facade) 7 10.桥接模式(Bridge) 7 11.组合模式(Composite) 8 ...

    JAVA设计模式-day2.pdf

    • 4、 建造者模式(Builder); 5、 原型模式(Prototype))、结构模式(7种:6、 适配器模式; 7、 装饰模式(Decorator); 8、 代理模式(Proxy) • 9、 外观模式(Facade); 10、 桥接模式(Bridge); 11、...

    Java设计模式,并加上个人理解

    9. 建造者模式 (Builder Pattern) 10. 原型模式 (Prototype Pattern) 11. 组合模式 (Composite Pattern) 12. 装饰者模式 (Decorator Pattern) 13. 访问者模式 (Visitor Pattern) 14. 迭代器模式 ...

    23种java设计模式

    Factory(工厂模式)、Singleton(单态)、Builder(建造者模式)、Prototype(原型模式)、工厂方法模式。2、结构模式:Flyweight(共享模式)、Bridge(桥模式)、Decorator(装饰模式)、Composite(组合模式)、Adapter(适配器...

    JAVA设计模式.rar

    建造者模式【BUILDER PATTERN】 桥梁模式【BRIDGE PATTERN】  命令模式【COMMAND PATTERN】  装饰模式【DECORATOR PATTERN】 迭代器模式【ITERATOR PATTERN】  组合模式【COMPOSITE PATTERN】 ......

    Java 23种设计模式全归纳

    ### Java 23种设计模式全归纳 #### 资源概述 本资源包汇总了Java中23种经典设计模式的详细介绍和使用示例,旨在帮助开发者系统性地学习和掌握设计模式在软件开发中的应用。... - **建造者模式(Builder

    java版本二十三种设计模式.zip

    - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) - 适配器模式(Adapter) - 装饰器模式(Decorator) - 桥接模式(Bridge) - 组合模式(Composite) - 外观模式(Facade) - 享元模式(Flyweight) ...

Global site tag (gtag.js) - Google Analytics