`
yiliner
  • 浏览: 214913 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式学习笔记(十二)—Builder建造者模式

阅读更多

Builder模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
刚接触到这个模式的时候,实在搞不明白它的意思,有什么用。于是,上网google了一圈,终于得到这个大家普遍认可的解释:
建造模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。
下面举一个例子来说明这个模式的使用,代码如下:
import java.util.ArrayList;

interface Builder{
 public void buildPartA();
 public void buildPartB();
 public void buildPartC();
 public Product getProduct();
}
class Product{
 
 private ArrayList<String> parts=new ArrayList<String>();
 public void add(String part){
  parts.add(part);
 }
 public void show(){
  System.out.println("Product有以下几部分构成:");
  for(String s:parts){
   System.out.println(s);
  }
 }
}

class Worker implements Builder{
    private Product product;
   
 public void buildPartA() {
  product=new Product();
  product.add("A部分");
  
 }

 public void buildPartB() {
  product.add("B部分");
  
 }

 public void buildPartC(){
  product.add("C部分");
  
 }
 public Product getProduct(){
  return product;
 }
 
}
class Designer{
 public void order(Builder builder){
  builder.buildPartA();
  builder.buildPartB();
  builder.buildPartC();
 }
}
public class Test {

 public static void main(String[] args) {
  Designer designer=new Designer();
  Builder builder=new Worker();
  designer.order(builder);
  Product product =builder.getProduct();
  product.show();

 }
}
输出结果如下:
Product有以下几部分构成:
A部分
B部分
C部分
从这个例子我们可以看出Builder模式,是把建造对象的过程分成一部分一部分来完成的。
小结:Builder模式主要是为了将构建复杂对象的过程和它的部件解耦。使得我们不用去关心每个部件是如何组装的。

<script type="text/javascript"></script>

<!---->
分享到:
评论

相关推荐

    23种设计模式学习笔记及源码

    这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...

    设计模式学习笔记

    ### 设计模式学习笔记 #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂类,这个工厂类能够根据不同的输入参数返回不同的对象实例。简单工厂模式并不涉及继承关系,...

    图解java设计模式_学习笔记_java开发

    这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...

    GoF 23种设计模式学习笔记

    "GoF 23种设计模式学习笔记" 是一个深入探讨这23个经典设计模式的资源,这些模式最初由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者在1994年的著作《设计模式:可复用面向对象软件的基础》中...

    23中设计模式学习笔记.docx

    ### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...

    《设计模式》学习笔记

    ### 设计模式学习笔记 #### 引言 设计模式(Design Patterns)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...

    300Java设计模式部分学习笔记

    3. 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 4. 原型模式(Prototype Pattern):通过复制一个现有的实例来创建新的实例,用于减少创建对象的...

    23种面向对象设计模式

    文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...

    台湾人写的设计模式笔记

    主要分为五种:工厂方法(Factory Method)、抽象工厂(Abstract Factory)、单例(Singleton)、建造者\Builder、原型\(Prototype\)。例如,工厂方法允许在子类中定义实例化对象的具体过程,而单例模式确保一个类只有一个...

    23个设计模式图解--学习笔记

    在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...

    设计模式的读书总结笔记

    1. 创建型模式:如单例模式(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。这些模式关注对象的创建,旨在降低对象的创建过程与使用...

    Java设计模式尚硅谷笔记

    4. 建造者模式(Builder):将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在Java中,Builder模式常用于构造复杂的对象,如StringBuilder。 5. 适配器模式(Adapter):将一个类的接口转换...

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    - **建造者模式**(Builder):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **原型模式**(Prototype):通过复制一个已有实例来创建新对象,而不是通过创建操作。 2. **结构型...

    java设计模式源码和笔记(第一部分)

    `BuilderPattern.java`可能是示例代码,笔记会阐述如何使用建造者构建对象。 8. **策略模式**:定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。Eclipse实现可能包括策略接口和具体策略类,笔记会...

    图解Java设计模式笔记总结word版本.rar

    - **创建型模式**:如单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype),它们主要关注对象的创建过程。 - **结构型模式**:如适配器...

    设计模式笔记

    创建型设计模式关注对象的创建过程,如单例模式(Singleton)、工厂模式(Factory)和建造者模式(Builder)。结构型设计模式关注如何组合对象和类以构建更大的结构,例如适配器模式(Adapter)、装饰器模式...

    C# 设计模式学习 源码

    本资料包“C# 设计模式学习 源码”包含了作者在学习设计模式过程中的笔记和源码示例,对于想要深入理解C#设计模式的人来说是一份宝贵的资源。 设计模式分为三大类:创建型、结构型和行为型。下面将详细介绍这些类别...

    23种设计模式的解析与Cpp实现

    - 建造者模式(Builder):将一个复杂对象的构建与其表示分离,使同样的构建过程可以创建不同的表示。 - 原型模式(Prototype):通过复制已有对象来创建新对象,避免了复杂的初始化过程。 2. **结构型模式**...

    设计模式笔记总结 含C#示例代码 复习好帮手

    本篇文章是对一份设计模式学习资料的深入解读,这份资料包含了19种经典的设计模式,并提供了C#示例代码,适用于学习和复习。下面将逐一介绍这些设计模式及其核心概念。 #### 1. 简单工厂模式 (Simple Factory ...

Global site tag (gtag.js) - Google Analytics