`
magicChen
  • 浏览: 5717 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Builder建造者模式

    博客分类:
  • GOF
 
阅读更多

Builder模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.

 

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

 

第一种情况:

 

public interface ComputerBuilder{

      public Computer getComputer();

}

 

public interface ProcessComputerA extend ComputerBuilder{

       public CPU buildCPU():

       public Memory buildMemory();

       public HDD buildHDD();

}

 

public interface ProcessComputerB extend ComputerBuilder{

       publilc CPU buildCPU();

       public  Memory buildMemory();

}

 

public class ProcessComputerAImpl implement ProcessComputerA{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}

       public Computer getComputer(){

              buildCPU();

              buildMemory();

              buildHDD();

       }

}

 

public class ProcessComputerBImpl implement ProcessComputerB{

       publilc CPU buildCPU(){}

       public  Memory buildMemory(){}

       public Computer getComputer(){

              buildCPU();

              buildMemory();              

       }

}

 

public interface CPU {...}

 

public interface HDD{...}

 

public interface Memory{....}

 

public interface Computer{...}

 

 

第二种情况:

分离Director和Builder角色

public interface ComputerBuilder{

       public CPU buildCPU():

       public Memory buildMemory();

       public HDD buildHDD();      

}

 

public class ConcreteAComputerBuilder implement ComputerBuilder{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}      

}

 

 

public class ConcreteBComputerBuilder implement ComputerBuilder{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}      

}

 

 

public class ComputerDirector {

        private ComputerBuilder builder;

 

        public Computer getComputer(){

             builder.buildComputer();

             builder.buildMemory();

             builder.buildHDD();

        }

}

 

public interface CPU {...}

 

public interface HDD{...}

 

public interface Memory{....}

 

public interface Computer{...}

 

 

分享到:
评论

相关推荐

    Java设计模式之Builder建造者模式

    Java设计模式之Builder建造者模式 Java设计模式之Builder建造者模式是一种创建型设计模式,主要用于创建复杂对象。该模式的主要思想是将对象的创建过程拆分成多个步骤,让客户端可以通过一步步的方式来创建对象。 ...

    设计模式之建造者Builder模式

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

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

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

    建造者模式c++实现

    建造者模式是一种设计模式,它将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在C++中实现建造者模式,我们可以遵循以下步骤: 首先,我们需要定义一个抽象建造者(Builder)类,它声明了一...

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

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

    设计模式——建造者模式

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

    Ruby设计模式编程中使用Builder建造者模式的实例

    建造者模式的核心角色包括: 1. **Builder**:这是一个抽象接口,定义了构建产品对象的各个部分的方法。在示例中,`PersionBuilder` 就是这个角色,它定义了创建小人的头部、身体、手臂和腿部的方法。 2. **...

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

    其中,建造者模式属于创建型模式,主要用于解决构建复杂对象的问题。 ### 建造者模式解析 建造者模式的核心思想是将一个复杂的对象分解为多个简单的组成部分,然后通过一个构建者来组装这些部分。这样做的好处是...

    设计模式之建造者模式

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

    Java建造者模式源码

    还有时,建造者模式会被用来实现链式构建,即每个构建方法都返回Builder自身,使得调用者可以通过连缀方法来构建对象。 **建造者模式的优点:** 1. **封装性**:建造者模式将创建对象的复杂过程隐藏起来,使得...

    建造者模式【Builder Pattern】(一)问题提出

    建造者模式【Builder Pattern】是一种设计模式,它在软件工程中用于将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式在处理复杂对象的构造时特别有用,因为它允许我们通过分离构造...

    建造者模式学习以及与工厂模式的区别

    建造者模式(Builder Pattern)是一种创建型设计模式,它提供了一种方法来分步骤构建复杂的对象,使得构建过程和表示分离。这种模式常用于当一个对象的构建过程复杂且需要多个步骤时,或者当我们希望同一个构建过程...

    建造者模式实例

    文件`BuilderPattern1`和`BuilderPattern`可能是示例代码或者进一步的解释,它们可能包含一个完整的建造者模式实现,包括产品类、抽象建造者、具体建造者和导演类的代码,以及如何在客户端使用这些类的例子。...

    ios 进阶 建造者模式

    在文件"01-builder模式"中,可能包含了关于建造者模式的实例代码、讲解文档或视频教程,这些内容可以帮助你深入理解建造者模式的实现和应用场景。例如,可能会演示如何使用建造者模式构建一个自定义的视图控制器,...

    建造者模式【Builder Pattern】(二)问题改进

    建造者模式(Builder Pattern)是一种创建型设计模式,它允许我们分步骤构建复杂对象,而无需暴露构造过程的细节。这种模式将一个复杂的构建过程分解为一系列简单的步骤,使得构造过程可以有不同的解释,从而实现...

    建造者模式.pptx

    建造者模式(Builder Pattern)是设计模式中的一种,主要用于创建复杂对象。此模式的核心在于将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。简单来说,建造者模式允许用户通过指定...

    设计模式-建造者模式

    建造者模式(Builder Pattern)是一种创建型设计模式,它提供了一种方法来分步骤构建复杂的对象,使得构建过程和表示分离,使得同样的构建过程可以创建不同的表示。这种模式经常在对象的构造过程中需要进行多种选择...

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

    明确建造者(Builder)、具体建造者(Concrete Builder)、指导者(Director)、产品(Product)之间的职责和联系。 ◆建造者(Builder): 给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,...

    java 建造者模式

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

Global site tag (gtag.js) - Google Analytics