设计模式之Builder模式

原创 2006年06月07日 16:00:00

Builder模式是将构建复杂对象的过程和它的部件解耦.

因为一个复杂的对象,不但有很多大量组成部分,如汽车,有很多部件:车轮 方向盘 发动机还有各种小零件等等,部件很多,但远不止这些,如何将这些部件装配成一辆汽车,这个装配过程也很复杂(需要很好的组装技术),Builder模式就是为了将部件和组装过程分开.

理解Builder模式:

        生产流水线:以前是手工业作坊式的人工单个单个的生产零件然后一步一步组装做,好比有了工业革命,现在都由生产流水线代替了。如要造丰田汽车,先制定汽车的构造如由车胎、方
向盘、发动机组成。再以此构造标准生产丰田汽车的车胎、方向盘、发动机。然后进行组装。最后得到丰田汽车.

举例:

看到网上一个造房子的例子比较好理解,所以就拿来借用下.造房子本身比较复杂,因为各个部件如门,窗,墙,栋梁等需要建筑工人的构造,还有各个部件的组装就更显得重要而复杂,所以一般都要有设计师来画图来指挥各个部件的组装.而设计师本身也不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样建筑工人开始建设,最后,我可以向建筑工人要房子了。在这个过程中,设计师是什么也没有,除了他在脑子里的设计和命令,所以要房子也是跟建筑工人要,记住了!

package builder;

public interface Builder
{
public  void makeWindow();
public  void makeFloor();
public  Room  getRoom();

}


/*************************************************************/
package builder;

public class Designer {

  public Designer() {
  }
  public void order(Builder  builder) 
{
  builder.makeWindow();
  builder.makeFloor();

}

 }

/*************************************************************/
package builder;
public class Worker implements Builder{
  private  String window="";
  private  String floor="";
  public Worker() {
  }
    public  void makeWindow(){
  window=new String("window");
  }
  public  void makeFloor(){
  floor=new String("floor");
  }
  public  Room  getRoom()
  {
  if((!window.equals(""))&&(!floor.equals("")))
    {
    System.out.println("room ready!");
    return new Room();
    }
  else return null;
  }
}

/*************************************************************/
package builder;
public class Room {
  private  String window="";
  private  String floor="";
  public Room() {
  }
  }
/*************************************************************/

package builder;

public class Client {

  public Client() {
  }
  public static void main(String[] args) {
     Builder worker=new Worker();
     Designer  designer=new      Designer();
     designer.order(worker);
     worker.getRoom();
  }
}

相关文章推荐

Builder设计模式.txt

  • 2009年11月03日 10:00
  • 3KB
  • 下载

23种设计模式的java实现-Builder

  • 2012年09月18日 19:26
  • 7KB
  • 下载

java中Builder设计模式 原理和好处

Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成。那么,在实际的开发过程中,我们哪些地方适合用到Builder模式呢?其中使用Builder模式来替代...

java设计模式之Builder&Decorator

  • 2014年12月01日 21:59
  • 35KB
  • 下载

builder设计模式源码

  • 2009年10月15日 18:30
  • 6KB
  • 下载

Java:设计模式之Builder

  • annkie
  • annkie
  • 2013年01月15日 10:25
  • 523

晨会分享Builder设计模式

  • 2016年08月02日 00:31
  • 297KB
  • 下载

设计模式读书笔记:Builder(建造者)

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

我也设计模式——4.Builder

http://www.cnblogs.com/Jax/archive/2007/04/10/707391.html 但凡是模式,总要有一个UML才能说清楚。一般而言,我只记UML图,有些模式有自己的...

[创建型设计模式:Builder]代码实现

using System; using System.Collections.Generic; using System.Linq; using System.Text; ////优点:同样的构建...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式之Builder模式
举报原因:
原因补充:

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