`
kang
  • 浏览: 474614 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

创建模式之建造模式Builder

阅读更多

 

适用场合:框架结构,好几个模块组合起来进行使用

 

假设一个复杂对象是由多个部件组成的,并且各个组件改变的机会比较大。

建造模式可以把复杂对象的创建分成两步来走:先创建各个部件,再把各个组件组装起来。

 

 

 

1.初步使用建造模式:

 

package com.javaeye.kang.builder;

 

import java.awt.Panel;

 

 

// 建造 Builder 负责 4 个小模 的生成

// 以后修改 只要修改相 的建造函数即可

class Builder {

     

      public Panel getPanel1() {

            Panel p1 = null ;

            // 建造 p1

            return p1;

      }

     

      public Panel getPanel2() {

            Panel p2 = null ;

            // 建造 p2

            return p2;

      }

     

      public Panel getPanel3() {

            Panel p3 = null ;

            // 建造 p3

            return p3;

      }

     

      public Panel getPanel4() {

            Panel p4 = null ;

            // 建造 p4

            return p4;

      }

}

 

// Director 负责 将各个小模 块组 装起来

class Director {

      Builder builder = new Builder();

      // 装方法

      public void construct() {

            Panel p1 = builder .getPanel1();

            Panel p2 = builder .getPanel2();

            Panel p3 = builder .getPanel3();

            Panel p4 = builder .getPanel4();

            // 4 个小模 块组 装起来

      }

}

 

 

public class BuilderTest {

 

      public static void main(String[] args) {

            Director director = new Director ();

            director.construct();

      }

}

 

 

2.对上面的建造模式进行改进

 

package com.javaeye.kang.builder;

 

import java.awt.Panel;

 

 

// 建造 Builder 负责 4 个小模 的生成

// 以后修改 只要修改相 的建造函数即可

class Builder implements IBuilder{

     

      public Panel getPanel1() {

            Panel p1 = null ;

            // 建造 p1

            return p1;

      }

     

      public Panel getPanel2() {

            Panel p2 = null ;

            // 建造 p2

            return p2;

      }

     

      public Panel getPanel3() {

            Panel p3 = null ;

            // 建造 p3

            return p3;

      }

     

      public Panel getPanel4() {

            Panel p4 = null ;

            // 建造 p4

            return p4;

      }

}

 

// 面向接口

interface IBuilder {

      public abstract Panel getPanel1();

      public abstract Panel getPanel2();

      public abstract Panel getPanel3();

      public abstract Panel getPanel4();

}

 

// Director 负责 将各个小模 块组 装起来

class Director {

      // spring builder 象注入 来(不使用 new ,可以降低耦合度)

      private Builder builder ;

      public Director(Builder builder) {

            this . builder = builder;

      }

     

      // 装方法

      public void construct() {

            Panel p1 = builder .getPanel1();

            Panel p2 = builder .getPanel2();

            Panel p3 = builder .getPanel3();

            Panel p4 = builder .getPanel4();

            // 4 个小模 块组 装起来

      }

}

 

 

public class BuilderTest {

 

      public static void main(String[] args) {

 

      }

}

 

 

 

  • 描述: 建造模式
  • 大小: 100.5 KB
  • 描述: 建造模式要点
  • 大小: 67.3 KB
  • 描述: 建造模式小结
  • 大小: 93.8 KB
分享到:
评论

相关推荐

    设计模式之建造者Builder模式

    **建造者模式(Builder Pattern)**是软件设计模式中的一种,属于创建型模式。它将复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于那些需要大量构造参数的对象,通过...

    设计模式 创建型模式 Builder模式(建造者)

    Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的...

    设计模式之创建模式Builder

    建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。这种模式的核心思想在于将对象的构建与表示分离,使得构建过程和不同表示可以独立变化,提高...

    C#设计模式之建造者(Builder)模式示例源代码

    在深入探讨C#设计模式中的建造者(Builder)模式之前,我们先来理解一下什么是设计模式。设计模式是在软件工程中解决常见问题的一种通用可重用解决方案,它们提供了一种标准化的方法来解决软件开发中遇到的挑战。...

    [创建型模式]设计模式之建造者模式(Builder Pattern)

    【创建型模式】设计模式之建造者模式(Builder Pattern) 建造者模式(Builder Pattern)是设计模式中的一个创建型模式,它提供了一种方法来分步骤构造复杂的对象,使得构造过程和表示分离,使得同样的构建过程可以...

    (创建型模式)Builder模式

    Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,具有多种组成部件;Builder定义了构建产品的接口,而不涉及具体...

    设计模式之建造者模式代码示例

    建造者模式(Builder Pattern)是软件工程中一种用于创建对象的抽象工厂方法,它将复杂的构建过程分解为一系列步骤,使得构建过程可以独立于其表示进行。这种模式允许客户端使用相同的构建过程创建不同表现形式的...

    设计模式C++学习之建造者模式(Builder)

    建造者模式(Builder)是设计模式中的一种结构型模式,它允许我们分步骤构建复杂的对象,而无需暴露构造过程。这种模式将构造过程与对象的表示分离,使得同样的构造过程可以创建不同的表示。在C++中,建造者模式通常...

    Builder(建造模式)

    Builder模式是一种设计模式,它属于创建型模式,主要用于构建复杂对象。这种模式提供了一种方法来分离开对象的构造过程和表示方式,使得构造过程可以按照步骤进行,并且允许用户只指定他们关心的部分,而忽略其他不...

    Builder模式

    3. 在产品创建过程中需要使用系统中的其他对象,且这些对象在创建过程中不易获取时,Builder模式可以封装这部分细节,使得创建过程更加清晰和可控。 #### 优点 - **内部表象独立变化**:Builder模式允许产品的内部...

    设计模式-Builder模式demo

    在Java中,Builder模式通常包含四个主要角色:Product(产品),Builder(建造者),ConcreteBuilder(具体建造者)和Director(导演)。Product是被构建的对象,Builder定义了产品的构造接口,ConcreteBuilder实现...

    设计模式——建造者模式

    建造者模式是一种结构型设计模式,它允许我们分步骤创建复杂对象,而无需暴露构建过程的内部细节。这种模式在Java编程中非常常见,尤其是在处理需要多种构建方式或需要隔离对象构造过程的场景。 建造者模式的核心...

    c++-设计模式之“建造者模式(Builder)”

    建造者模式(Builder Pattern)是一种创建型设计模式,允许使用多个简单的对象一步一步构建一个复杂的对象。它将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的组成 产品...

    设计模式之建造者模式

    建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,通过将构造过程与对象本身分离,使得同样的构造过程可以创建不同的表示。这种模式常用于当创建对象的步骤复杂或者...

    创建型——Builder模式

    Builder模式是一种创建型设计模式,它提供了一种创建对象的灵活方式,将对象的构建过程与表示分离。这种模式在复杂对象的构造过程中特别有用,因为它允许我们通过不同的步骤来构造对象,而不会让客户端代码受到这些...

    69-Java设计模式之建造者 Builder1

    建造者模式(Builder Pattern)是Java设计模式中的一种,它属于创建型模式,主要用于构建复杂的对象。这种模式将对象的创建过程与表示分离,使得同样的创建过程可以创建不同的表示。在实际开发中,当我们需要创建的...

    builder设计模式源码

    Builder设计模式是一种软件设计模式,它允许我们分步骤构建复杂对象,通过将构造过程与对象的表示分离,使得相同的构造过程可以创建不同的表示。在Java或者其他面向对象编程语言中,Builder模式经常被用来提高代码的...

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

    建造者模式(Builder)是Java设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。在Android开发中,这种模式尤其有用,因为Android组件如Activity、Fragment等的初始化过程通常...

    (设计模式)Builder

    Builder设计模式是一种创建型设计模式,它提供了一种方法来分步骤构造复杂的对象,使得构建过程和表示分离,允许用户只关注对象的构建而无需关心具体实现细节。在Java或其他编程语言中,Builder模式通常用于创建那些...

Global site tag (gtag.js) - Google Analytics