java23种设计模式之建造者模式(Builder)

原创 2012年03月23日 02:36:56

 http://www.0755build.com

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类用户不知道内容的具体构建细节。使用它是为了构建复杂对象的过程和它的部件解耦。例如汽车,有很多部件:车轮、方向盘、发动机等等,Builder是为了将部件和组装过程分开。Builder莫斯是把复杂对象部件的创建和组装分别用Builder类和Director类来表示,Builder模式的实现代码如下:

//产品

package yw.build;

public interface Product {

}

//产品部件

package yw.build;

public interface Part {

}

 

//建造各个部件

package yw.build;

public interface Builder {
 //创建部件A 例如汽车车轮
 void buildPartA();
 //创建部件B
 void buildPartB();
 //创建部件C
 void buildPartC();
 //返回最后组装成品结果
 Product getResult();
}

//建造者的接口实现类

package yw.build;

public class ConcreateBuilder implements Builder{
 Part partA,partB,partC;
 //建造partA
 public void buildPartA() {
  
 }
 //建造partB
 public void buildPartB() {
  
 }
 //建造partC
 public void buildPartC() {
  
 }
 //将各部分组装成Product
 public Product getResult() {
  return null;
 }

}

 

//组件部件

package yw.build;

public class Director {
 private Builder builder;
 public Director(Builder builder){
  this.builder=builder;
 }
 //将部件partA partB partC组装成复杂对象
 public void construct(){
  builder.buildPartA();
  builder.buildPartB();
  builder.buildPartC();
 }
}

 

调用Builder进行工作

package yw.build;

public class TestBuilder {
 public static void main(String arg[]){
  ConcreateBuilder builder=new ConcreateBuilder();
  Director director=new Director(builder);
  director.construct();
  Product product=builder.getResult();
 }
}

 

浅谈JAVA设计模式之——建造者模式(Builder)

一、概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被...
  • l1028386804
  • l1028386804
  • 2015年05月02日 21:22
  • 9414

Android设计模式之建造者模式(builder pattern)

builder设计模式我们很常见,比如我们使用AlertDialog的时候就使用的builder设计模式,著名的Universal-Image-Loader的初始化配置也是使用的builder设计模式...
  • nugongahou110
  • nugongahou110
  • 2015年12月25日 10:08
  • 2873

【java设计模式】之 建造者(Builder)模式

我们还是举上一节的例子:生产汽车。上一节我们通过模板方法模式控制汽车跑起来的动作,那么需求是无止境的,现在如果老板又增加了额外的需求:汽车启动、停止、鸣笛引擎声都由客户自己控制,他想要什么顺序就什么顺...
  • eson_15
  • eson_15
  • 2016年05月06日 08:59
  • 4883

java23种设计模式之建造者模式(Builder)

建造者模式
  • chx0501
  • chx0501
  • 2015年10月13日 22:09
  • 212

【创建型模式】建造者模式(Builder)之23种java设计模式

AirShip类 public class AirShip { private OrbitalModule orbitalModule;// 轨道舱 private Engine engine;...
  • liusocg520
  • liusocg520
  • 2016年04月22日 09:57
  • 139

23种设计模式-Builder建造者模式

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

23种设计模式之-----建造者模式(Builder Pattern)

定义: 建造者模式,又叫生成器模式,它的核心思想是 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类图: 建造者模式的几个角色: 产品(product)...
  • qq_34573369
  • qq_34573369
  • 2017年12月20日 18:23
  • 17

23种设计模式-3.建造者模式(Builder)

Builder模式的缘起:     假设创建游戏中的一个房屋House设施,该房屋的构建由几部分组成,且各个部分富于变化。如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正....
  • xingcangzaiwo
  • xingcangzaiwo
  • 2013年03月31日 10:18
  • 268

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

  • 2016年05月12日 20:59
  • 10KB
  • 下载

重学java23种设计模式(3)建造者模式

跟着《软件秘笈---设计模式那点事》学习 定义: 我觉得最容易让人接受的定义来自百度百科:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者...
  • wanda39kela
  • wanda39kela
  • 2015年07月25日 17:20
  • 303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java23种设计模式之建造者模式(Builder)
举报原因:
原因补充:

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