设计模式--build设计模式

BUILDER?MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)   建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。

I love you(英语)

あなたのことが好きです(日语)

????(韩语)

请不要问我怎么会说这么多种语言

好吧,我要用设计模式实现它:

首先声明一个抽象类:

package com.soyoungboy.builder;

public abstract class Builder {
    abstract String getString();
}

  

package com.soyoungboy.builder;

public class Director {

    private Builder builder;

    public Director(Builder builder) {
        this.builder = builder;
    }

    public  String construct(){
        return builder.getString();
    }

}

  

package com.soyoungboy.builder;

public class EnglishBuild extends Builder {

    @Override
    String getString() {
        return " I Love You";

    }

}

  

package com.soyoungboy.builder;

public class JapaneseBuild  extends Builder{

    @Override
    String getString() {
        return "あなたのことが好きです";

    }

}

  

package com.soyoungboy.builder;

public class KoreanBuild extends Builder {

    @Override
    String getString() {
        return "????";

    }

}

  

package com.soyoungboy.builder;

public class Main {

    public static void main(String[] args) {
        Builder builder = new EnglishBuild();
        Director d = new Director(builder);
        String love = d.construct();
        System.out.println(love);

        Builder builder1 = new JapaneseBuild();
        Director d1 = new Director(builder1);
        String love1 = d1.construct();
        System.out.println(love1);

        Builder builder2 = new KoreanBuild();
        Director d2 = new Director(builder2);
        String love2 = d2.construct();
        System.out.println(love2);

    }

}

  

运行结果为:

I Love You
あなたのことが好きです
????

时间: 2024-07-30 04:43:05

设计模式--build设计模式的相关文章

Java软件设计模式------装饰设计模式

Java软件设计模式一共分为23种; 一般常用的有: 单例设计模式 装饰设计模式 工厂设计模式 装饰设计模式 定义:英文叫Decorator Pattern,又叫装饰者模式.装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 在生活中我们用程序员和项目经理的例子来比喻,项目经理是从程序员开始的,经过不断地积累工作经验.不断的学习新的知识,才有可能升职. 在装饰设计模式中项目经理就是程序员的增强. 程序猿: 写程序 项目

[设计模式] .NET设计模式笔记 - 了解设计模式

今天在TerryLee的cnblog(http://terrylee.cnblogs.com)里看到了与设计模式相关的整套文章,初学设计模式看完每篇文章后做些笔记和摘抄. ●什么是设计模式,什么是架构? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的

JAVA设计模式-装饰设计模式-继承体系的由来和装饰类的优化

首先看一下我们设计类的过程: 专门用于读取数据的类 MyReader l--MyTextReader:根据不同的功能会不断延伸很多子类 l--MyMeidaReader l--MyDataReader l--.......... 为了提高以上子类的工作效率,需要加入缓冲区技术.所以又会出现下面的类的继承体系. (体系1) MyReader l--MyTextReader:根据不同的功能会不断延伸很多子类 l--MyBufferedTextReader l--MyMeidaReader l--My

大话设计模式1:初识设计模式及设计模式五大基本原则

一什么是设计模式? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计 模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多 赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 二为什么要使用设计模式? 为什么要提倡Design Pattern呢?根本原因是为了代码复用,增加可维护性.那么怎么才能实现代码复用呢?面 向对象有几个原则:单一职责原

[设计模式] .NET设计模式笔记 - 有多少种设计模式

.NET下的23中设计模式. ※创建型模式篇 ●单件模式(Single Pattern) ●抽象工厂模式(Abstract Factory) ●建造者模式(Builder Pattern) ●工厂方法(Factory Method) ●原型模式(Protype Pattern) ※结构型模式篇 ●适配器模式(Adapter Pattern) ●桥接模式(Bridge Pattern) ●装饰模式(Decorator Pattern) ●组合模式(Composite Pattern) ●外观模式(

大话设计模式—何为设计模式

设计模式,说起设计模式,设计模式,总是给人留下一种高屋建瓴,金碧辉煌的感觉.甚至很多人以在一款软件里使用了多少设计模式来衡量软件代码的质量.所以设计模式对于我们这些软件开发人员来说,实在再熟悉不过了.自从一本由四人组合写的奇书横空出世以后,设计模式在软件开发中就火了起来,很多程序员甚至把那本书奉为圣经.虽然我们怎么熟悉它,那我们是否真的完全理解或者掌握了它的精髓了呢? 无论学习什么知识我们首先从三问,或者五问问起(所有知识学习都逃不出这几问).第一问,是什么?首先我们来看看这个设计模式到底是什么

设计模式(35)-----设计模式阶段性总结(一句话概括一个模式)

目录: 设计模式(1)------初始设计模式(回调函数) 设计模式要从语义上出发,而不要从语法上出发,其实设计模式归根结底就是多态的有计划的组合. 设计模式(2)------行为型模式------观察者设计模式 想想气象站,根据天气的变化动态的通知观众实时天气.当一个对象的状态改变时,通知另一个对象作出相应的改变,而中间的观察和通知者就是主要的观察者设计模式.出版者+订阅者=观察者模式 设计模式(3)------行为型模式------观察者设计模式(jdk自带) 设计模式(4)------结构

结构型设计模式对比 设计模式(十六)

结构型设计模式 结构型模式关注于整体最终的结构,通过继承和组合,构建出更加复杂的结构 进而提供更加强大的逻辑功能 七种结构型模式 适配器模式(Adapter Pattern) 组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 代理模式(Proxy Pattern) 桥接模式(Bridge Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 所有的结构型设计模式在逻辑上都各自不同程度的隐含了“间

图解Java设计模式之设计模式面试题

图解Java设计模式之设计模式面试题 1.1 Java设计模式内容介绍 1.1.1 先看几个经典的面试题 1.1.2 设计模式的重要性 1.1 Java设计模式内容介绍 1.1.1 先看几个经典的面试题 原型设计模式问题 :1)有请使用UML类图画出原型模式核心角色2)原型设计模式的深拷贝和浅拷贝是什么.并写出深拷贝的两种方式的源码(重写clone方法实现深拷贝.使用序列化来实现深拷贝)3)在Spring框架中哪里使用到原型模式,并对源码进行分析beans.xml <bean id="id