java设计模式- 建造者模式

一 需求以及实现方式

1.1 需求描述

我们要创建一个表示汽车的复杂对象,汽车包含发动机、轮胎和座椅等部分。用传统方式创建,代码如下

1.2 传统实现方式

1.抽象类

复制代码
public abstract  class BuildCarAbstaract {
    //引擎
   public abstract void buildEngine();
   //补胎
   public abstract  void buildTires();
   //座椅
    public abstract void buildSeats();
    public void build() {
        buildEngine();
        buildTires();
        buildSeats();
    }

}

2.具体实现

复制代码
public class BeautifulCar extends BuildCarAbstaract{
    @Override
    public void buildEngine() {
        System.out.println(" 豪华ar发动引擎");
    }

    @Override
    public void buildTires() {
        System.out.println(" 豪华car 补胎");
    }

    @Override
    public void buildSeats() {
        System.out.println(" 豪华car 座椅");
    }
}

3.调用

复制代码
public class CommonCar extends BuildCarAbstaract {
    @Override
    public void buildEngine() {
        System.out.println(" 普通car发动引擎");
    }

    @Override
    public void buildTires() {
       System.out.println(" 普通car 补胎");
    }

    @Override
    public void buildSeats() {
       System.out.println(" 普通car 座椅");
    }
}

4.查看执行结果:

1.3 优缺点

1.优点:容易理解,操作简单

2.缺点:产品和创建产品的过程耦合性强。

3.解决方案:将产品和产品建造过程解耦。使用建造者模式。

二 建造者模式

2.1 建造者模式概念

建造者模式:用于创建一些复杂的、可定制的对象,该对象由多个部分组成,且对象的创建过程需要遵循特定的顺序。将对象的构建过程与其表现分离,使得同样的构建过程可以创建不同的表现。

2.2 组成部分

1.产品(Product):表示最终要构建的复杂对象。

2.建造者(Builder):定义用于构建产品的接口,包含创建产品各个部分的方法。

3.具体建造者(Concrete Builder):实现Builder接口,完成产品各个部分的具体构建工作。

4.指挥者(Director):负责调用合适的建造者方法,按照特定顺序组装产品。

链接:https://www.zhihu.com/question/21857130/answer/3058463145

2.3 代码实现部分

2.4 总结

建造者模式可以帮助我们创建复杂的对象,同时保持代码的可读性和灵活性。通过将对象的构建过程与其表现分离,我们可以使用同样的构建过程创建不同的表现。在实际开发中,当遇到需要创建复杂对象的场景时,可以考虑使用建造者模式。

相关推荐
蔡蓝6 小时前
设计模式-建造者模式
服务器·设计模式·建造者模式
magic 2458 小时前
Java建造者模式(Builder Pattern)详解与实践
java·开发语言·建造者模式
不伤欣11 小时前
游戏设计模式 - 子类沙箱
游戏·unity·设计模式
漫谈网络11 小时前
MVC与MVP设计模式对比详解
设计模式·mvc
蔡蓝11 小时前
设计模式-观察着模式
java·开发语言·设计模式
哆啦A梦的口袋呀13 小时前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式
半路下车14 小时前
【Harmony OS 5】HarmonyOS应用测试指南
设计模式·harmonyos
周某某~14 小时前
一.设计模式的基本概念
设计模式
on the way 12314 小时前
行为型设计模式之Interpreter(解释器)
设计模式
cui_hao_nan14 小时前
设计模式——模板方法
java·设计模式