`

JAVA设计模式--建造者模式

阅读更多
当做一种事情的步骤是必不可少的。也就是说做这种事情,所有的步骤是不会少的。但是这些事情的具体做法的步骤实现又是不一样的。 由每个个具体的对象去实现 。

比如做一道菜,放盐,油等这些都是不可少的,但是每个人放的量又不一样。

有的时候我们做的时候就可能会因为一件事情的步骤太多而忘记了做某个步骤,造成后面做出来的东西是不能用的。

建造者模式:它的原理就是像上面那样,为了避免忘记做某个步骤,我们把这些步骤都抽象出来到一个类里面,

然后每个具体的实现都不得不去实现这些步骤(也就是一个方法一样吧),具体方法的实现是由每个具体类自己去

做的,如果就是这样,我们就会发现这时候,等于就是这个吃菜的人吧,他要对做菜的人说,放盐,放油,呵呵,这

完全是没有必要的,所以在建造者模式当中还有一个重要的类,就是指挥者,它和客户和做菜人之间打交道,

客户对着它说做菜,然后它在叫某个具体做菜的人去做咯。


粗略代码:

//做菜所需要的步骤
public interface Cai {
    public void fangyan(); //放盐
    public void fangyou(); //放油
    public void jiashui(); //加水,,,等等是做菜不可缺少的步骤
    .......
}

//有具体叫张三去做这个菜,每个人才做,放盐,放油,加水等都是不一样的,但是都必须做这样的步骤
public class ZhangSan implements Cai {
    public void fangyan() {
        System.out.println("ZhangSanfangyan");
    }
    public void fangyou() {
        System.out.println("ZhangSanfangyou");
    }
    public void jiashui() {
        System.out.println("ZhangJiashui");
    }
}



//有具体叫李四去做这个菜
public class LiSi implements Cai {
    public void fangyan() {
        System.out.println("LiSi fangyan");
    }
    public void fangyou() {
        System.out.println("LiSi fangyou");
    }
    public void jiashui() {
        System.out.println("LiSi Jiashui");
    }
}

//客户来了,不是说客户交张三去做菜,然后放盐放油,放水,都客户叫,这个指挥者做的事情
public class Director {
    Cai cai;
    Public Director(Cai cai) {
        this.cai = cai;
    }
    public void zuocai() {
        cai.fangyan();
        cai.fangyou();
        cai.fangshui();
    }
}

//客户调用
public class test {
    public static void main(String[] args) {
        Cai cai =  new ZhangSan();//张三做菜
        Director d = new Director(cai); //指挥者
        d.zuocai();//我要指挥者弄菜,其实指挥者叫张三弄菜去了。
    }
}
分享到:
评论
3 楼 cin_ie 2011-10-21  
通俗易懂,此文甚好。
2 楼 asleep886 2011-08-26  
1 楼 asleep886 2011-08-26  
 

相关推荐

    java设计模式----建造者模式

    java设计模式------------------------------------建造者模式

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

    Java设计模式-建造者模式详解 Java设计模式-建造者模式详解将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式(Builder)是使用多个“小型”工厂来最终创建出一个完整对象。...

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

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

    JAVA-设计模式-创建型模式-建造者模式

    JAVA-设计模式-创建型模式-建造者模式

    java常用设计模式-建造者模式

    -java常用设计模式-建造者模式是java中的一种创建型设计模式,它允许开发者通过一步一步地构建复杂对象来创建不同类型的对象。 建造者模式的定义 建造者模式是一种创建型设计模式,它允许开发者通过一步一步地构建...

    JAVA设计模式-chm版

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

    Java设计模式----通俗易懂版

    - 建造者模式:将复杂对象的构建与其表示分离,使同样的构建过程能创建不同的表示。 - 原型模式:通过复制已有对象来创建新对象。 2. 结构型设计模式: - 适配器模式:将两个不兼容的接口转换为可以一起工作的...

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

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

    java设计模式的应用

    ### Java设计模式的应用 #### 一、引言 在当今快速发展的软件开发领域,Java作为一门功能强大且灵活的语言,不仅拥有丰富的API资源,还能与强大的数据库系统无缝对接。这使得许多开发人员能够以模块化的形式构建...

    讲故事,学(Java)设计模式-建造者模式Java开发Ja

    建造者模式,是Java设计模式中的重要组成部分,它在软件工程中扮演着构造复杂对象的角色。这个模式的主要目的是将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。通过使用建造者模式,我们可以...

    设计模式——建造者模式

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

    JAVA设计模式-原则和23种设计模式归纳总结

    本资源主要介绍了JAVA设计模式的原则和23种设计模式的总结。设计模式是软件设计中的一种解决方案,能够使软件系统更加灵活、可维护和可扩展。本资源首先介绍了设计模式的六大原则,包括单一责任原则、开闭原则、里氏...

    JAVA设计模式-day2.pdf

    JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...

    JAVA设计模式-设计模式公司出品

    8. 建造者模式(BUILDERPATTERN):建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 此外,书中还提到了“六大设计原则”,这是设计模式背后的指导思想,包括: 1. 单一...

    设计模式-Java语言中的应用

    设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...

    Java设计模式-图解-附代码.doc

    - **建造者模式**:将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **单例模式**:保证一个类仅有一个实例,并提供一个全局访问点。 - **原型模式**:通过复制已有对象来创建新对象,...

    java与模式-阎宏

    2. 创建型模式:包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。这些模式主要关注对象的创建过程,使得代码更加灵活,易于管理和测试。 3. 结构型模式:包括适配器模式、桥接模式、组合模式、...

    Java设计模式-

    - **建造者模式**:将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。适合于构建步骤复杂的对象。 - **单例模式**:保证一个类只有一个实例,并提供全局访问点。常用于配置中心、缓存管理等...

    《Java设计模式》课后答案-刘伟.rar

    《Java设计模式》是刘伟教授的一本关于设计模式的教材,主要面向高等学校的学生和对Java编程有深入兴趣的开发者。设计模式是软件工程中的一种重要思想,它封装了在特定场景下的问题解决方案,可以提高代码的可读性、...

Global site tag (gtag.js) - Google Analytics