`
lingyibin
  • 浏览: 196405 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

设计模式--Builder模式

阅读更多

当一个对象很大时,可以考虑把这个对象的各个部分分开来构建,最后再得到你想要的对象。这就是Builder模式。这种模式可以将构建复杂对象的过程和它的部件解耦。

首先定义一个抽象类,规定好这个类的各个方面:

 

public interface Builder {

  //创建部件A  比如创建汽车车轮
  void buildPartA(); 
  //创建部件B 比如创建汽车方向盘
  void buildPartB(); 
  //创建部件C 比如创建汽车发动机
  void buildPartC(); 

  //返回最后组装成品结果 (返回最后装配好的汽车)
  //成品的组装过程不在这里进行,而是转移到下面的Director类中进行.
  //从而实现了解耦过程和部件
  Product getResult();

}

 

 

 然后写一个Director类来定义方法的调用完成汽车的组装:

 

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();

  }

}

 

最后写一个类来实现 制造这汽车各个部件的具体的方法(用不同的实现来 完成那几个创建部件方法,可以相像成不同的汽车厂商各按自己的标准和方式来制造具体自己特色的部件)

 

public class ConcreteBuilder implements Builder {

  Part partA, partB, partC; 
  public void buildPartA() {
    //这里是具体如何构建partA的代码

  }; 
  public void buildPartB() { 
    //这里是具体如何构建partB的代码
  }; 
   public void buildPartC() { 
    //这里是具体如何构建partB的代码
  }; 
   public Product getResult() { 
    //返回最后组装成品结果
  }; 
}

 

 到此所有需要的类都写完了,接下去就是怎么调用它们了。看个例子:

//先创建制造汽车部件的类
ConcreteBuilder builder = new ConcreteBuilder();
//再实现组装汽车的类
Director director = new Director( builder ); 

//构造这辆汽车
director.construct(); 
//得到这辆汽车
Product product = builder.getResult();
 
0
0
分享到:
评论

相关推荐

    设计模式-Builder模式demo

    Builder模式是一种创建型设计模式,它提供了一种创建对象的抽象接口,并允许子类按照步骤构建复杂的对象。这种模式将对象的创建过程分离出来,使得同样的构造过程可以创建不同的表示,从而实现对象创建过程的解耦。 ...

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    【IT十八掌徐培成】Java基础第10天-02.builder设计模式-StringBuilder-包装类.zip

    在IT领域,设计模式是软件开发中的重要概念,它们代表了在特定场景下解决常见问题的最佳实践。今天我们要深入探讨的是Builder设计模式,这是一种创建型设计模式,它提供了一种方法来分步骤构造复杂的对象,使得构建...

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师,通常被称为GoF(Gang of Four),在他们的经典著作...

    C#设计模式-吕震宇

    C#设计模式(8)-Builder Pattern C#设计模式(7)-Singleton Pattern C#设计模式(6)-Abstract Factory Pattern C#设计模式(5)-Factory Method Pattern C#设计模式(4)-Simple Factory Pattern C#设计模式...

    Java设计模式-建造者模式详解

    Builder模式是一种非常有用的设计模式,它可以使得对象的构建过程更加灵活和可控,但是也需要注意它的缺点,例如增加系统的复杂度和对象的构建时间。 在实际应用中,Builder模式可以应用于各种需要复杂对象构建的...

    设计模式-创建者模式(Builder)

    创建者模式,或称为Builder模式,是一种广泛应用的设计模式,在软件开发中扮演着重要角色。它主要用于将一个复杂对象的构造与其表示分离,以使得同样的构造过程可以创建不同的表示。这不仅提高了代码的可维护性,也...

    《设计模式--基于C#的工程化实现及扩展》.(王翔)_《0528》.rar

    《设计模式--基于C#的工程化实现及扩展》是一本深入探讨软件设计模式的书籍,作者王翔通过C#语言来阐述各种设计模式的工程化应用和拓展。设计模式是软件开发中的一种最佳实践,它总结了在特定场景下解决常见问题的...

    JAVA设计模式-chm版

    这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...

    【Java 设计模式-源码】Builder 模式:在 Java 中清晰构建自定义对象

    Java 中的 Builder 设计模式是一种基本的创建型模式,它允许逐步构建复杂的对象。它将复杂对象的构建与表示分离,使得相同的构建过程可以创建不同的表示。 三、Builder 模式的详细解释及实际示例 实际示例: Java 的...

    angular的表单设计器 angular-form-builder

    **Angular的表单设计器——Angular-Form-Builder** Angular-Form-Builder是一个强大的工具,用于在Angular应用程序中动态创建和管理表单。它允许开发者通过拖放的方式构建复杂的表单结构,无需手动编写大量的HTML和...

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

    设计模式是软件工程中的一种最佳实践,用于解决常见的编程问题,提高代码的可读性、可维护性和可扩展性。在Java中,23种设计模式被广泛接受并分为三大类:创建型、结构型和行为型。Builder设计模式是创建型模式之一...

    毕业设计----日记本-----C++Builder----Access

    此外,C++Builder还支持RAD(Rapid Application Development)模式,通过拖放控件和编写事件处理代码,能高效地实现应用开发。 2. **面向对象编程**:C++Builder基于C++,因此支持面向对象编程(OOP)概念,如类、...

    C#设计模式-C#设计模式

    在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。C#设计模式是将这些通用解决方案应用于C#编程语言的具体实践。本文将深入探讨C#中的几种重要设计模式,并阐述它们的核心概念、...

    23种 设计模式---面向对象的基本原则

    设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,为软件开发提供了可复用的解决方案。在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计...

    前端开源库-swint-builder-html

    5. **开发模式**:在开发过程中,可以使用 `swint-builder-html dev` 命令启动开发服务器,实现自动编译和热加载。 ### 实战应用 Swint-Builder-HTML 在实际项目中的应用可以帮助开发者快速构建复杂的单页应用...

    Java 中的设计模式 - jdon

    《Java中的设计模式 - jdon》是一本深入探讨Java编程中设计模式的电子书,它主要聚焦于如何在实际开发中应用和理解这些经典的设计原则和模式。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决常见...

    设计模式-可复用面向对象软件的基础

    《设计模式-可复用面向对象软件的基础》这本书是面向对象编程领域中的一部经典之作。设计模式,作为软件工程中的重要概念,是解决常见问题的成熟解决方案的模板,它在实践中被反复验证并广泛接受。这本书深入浅出地...

Global site tag (gtag.js) - Google Analytics