美文网首页
构建者设计模式

构建者设计模式

作者: one_mighty | 来源:发表于2018-01-08 15:15 被阅读0次

一、UML

Builder.png

二、基本步骤

就一般而言,构建者模式使用内部类的方式来构建对象。主要步骤有:

1、将需要构建的目标类分成多个部件(比如电脑可以分为主机、显示器、键盘、音箱等部件);
2、在目标类内部添加构建类;
3、依次创建部件;
4、将部件组装成目标对象.

三、实现方式

1、定义
/**
 * @author lizihanglove
 * @date 2018/1/8
 * @email one_mighty@163.com
 * @desc 构建者模式代码
 */

public class ComputerBuilder {
    private String displayer;
    private String mainUnit;
    private String mouse;
    private String keyboard;

    private ComputerBuilder() {
    }

    public String getDisplayer() {
        return displayer;
    }

    public void setDisplayer(String displayer) {
        this.displayer = displayer;
    }

    public String getMainUnit() {
        return mainUnit;
    }

    public void setMainUnit(String mainUnit) {
        this.mainUnit = mainUnit;
    }

    public String getMouse() {
        return mouse;
    }

    public void setMouse(String mouse) {
        this.mouse = mouse;
    }

    public String getKeyboard() {
        return keyboard;
    }

    public void setKeyboard(String keyboard) {
        this.keyboard = keyboard;
    }

    @Override
    public String toString() {
        return "ComputerBuilder{" +
                "displayer='" + displayer + '\'' +
                ", mainUnit='" + mainUnit + '\'' +
                ", mouse='" + mouse + '\'' +
                ", keyboard='" + keyboard + '\'' +
                '}';
    }

    public static class Builder{
        private ComputerBuilder target =new ComputerBuilder();

        public Builder installDisplayer(String displayer){
            target.setDisplayer(displayer);
            return this;
        }

        public Builder installMainUnit(String mainUnit){
            target.setMainUnit(mainUnit);
            return this;
        }

        public Builder installMouse(String mouse){
            target.setMouse(mouse);
            return this;
        }

        public Builder installKeybord(String keyboard){
            target.setKeyboard(keyboard);
            return this;
        }

        public ComputerBuilder build(){
            return target;
        }
    }
}
2、调用
 ComputerBuilder.Builder builder = new ComputerBuilder.Builder();
        ComputerBuilder computerBuilder = builder.installDisplayer("显示器")
                .installMainUnit("主机")
                .installMouse("鼠标")
                .installKeybord("键盘")
                .build();
        System.out.println(computerBuilder.toString());
3、结果
ComputerBuilder {displayer='显示器', mainUnit='主机', mouse='鼠标', keyboard='键盘'}

四、说明

构建者模式是很常见的设计模式,根据个人习惯的不同可能实现不一样,但是究其根本,就是将部件依次装配并获得构建目标。

相关文章

  • 设计模式--构建者设计模式

    设计模式--构建者设计模式 1. 概念理解 建造者模式,将一个复杂的对象的构建与他的表示分离,使得同样的构建过程可...

  • 安卓设计模式-构建者模式

    安卓设计模式-构建者模式 是什么 构建者模式又生builder模式,是将复杂的对象的构建与他的表示分离,使得同样的...

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

    java设计模式--建造者模式 建造者模式定义 建造者模式:是将复杂对象的构建与表示进行分离,使同样的构建过程会有...

  • Mybatis中的设计模式

    Mybatis 设计模式 mybaits最少用到了九种设计模式: 设计模式mybaits体现Builder构建者模...

  • 设计模式[5]-构建者模式-Builder Pattern

    1. 构建者模式 构建者模式是创建型的设计模式,可以将复杂对象的创建过程和表示分离,使得同样的构建过程可以创建不同...

  • 建造者设计模式-Builder design pattern

    建造者设计模式是创建型设计模式的一种。创建型设计模式处理对象创建的问题。 建造者设计模式,用来构建需要经过若干个建...

  • 设计模式-构建者模式

    概念 建造者模式(英:Builder Pattern)是一种创建型设计模式,又名:生成器模式。GOF 给建造者模式...

  • 设计模式 -- 构建者模式

    1.构建者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2.实用范围 1 当创...

  • 构建者设计模式

    一、UML 二、基本步骤 就一般而言,构建者模式使用内部类的方式来构建对象。主要步骤有: 1、将需要构建的目标类分...

  • 建造者设计模式

    什么是建造者设计模式?[1] 建造者设计模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的...

网友评论

      本文标题:构建者设计模式

      本文链接:https://www.haomeiwen.com/subject/rcfqnxtx.html