java设计模式之建造者模式(生成器模式)最好的例子。

原创 2016年08月29日 13:03:56

java设计模式之建造者模式(生成器模式)最好的例子。


首先,

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。

意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。


就是java的

StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。



StringBuffer和StringBuilder类就是利用的 建造者模式 对String进行加工而成的类,不用重新开辟新的内存空间存储对象,
很好的体现了 建造者模式(生成器模式)的原理。





版权声明:本文为博主原创文章,未经博主允许不得转载。

java设计模式之建造者模式

本文属于23种设计模式系列。 介绍的是建造者模式。

建造者模式例子

一、类图二、设计到的角色产品(Product)角色 由一系列部件组成,一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。...

设计模式:建造者模式(Builder)

建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。  建造者模式通常包括下几个角色: 1. builder(抽象建造者):给出一个抽象结论,以规范产品对象的...

JAVA设计模式 — 生成器模式(Builder)

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类型:对象创建型模式 类图: 四个要素 产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,...
  • FX_SKY
  • FX_SKY
  • 2013年01月05日 16:08
  • 7827

Java设计模式--生成器模式

生成器模式将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。Builder PatternSeparate the construction of a complex objec...

java设计模式之生成器模式

java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##将一个复杂对象的构建与它的表示分离...

Java笔记---生成器Generator

一、前言和前一篇博文所述的迭代器 Iterator 不同,本文所述为生成器 Generator。这两者有很大不同。迭代器是用于遍历容器中的元素的,Java标准库中是有 Iterator 接口及其实现的...

设计模式之—建造者模式(Builder)-Java实现

Builder模式,将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部 表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模...

初级编程--优秀的扫地机器人--java

现在有很多制造商都在卖扫地机器人,它非常有用,能为忙碌的我们分担家务负担。不过我们也很难理解为什么扫地机器人有时候会反复清扫某一个地方。假设有一款不会反复清扫同一个地方的机器人,它只能前后左右移动。...
  • xu622
  • xu622
  • 2017年09月09日 11:48
  • 93

设置mysql数据库为只读

直奔主题,mysql设置为只读后,无法增删改。 设置命令: mysql> set global read_only=1;    #1是只读,0是读写 mysql> show global v...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java设计模式之建造者模式(生成器模式)最好的例子。
举报原因:
原因补充:

(最多只允许输入30个字)