广告
返回顶部
首页 > 资讯 > 精选 >Java建造者模式的示例分析
  • 378
分享到

Java建造者模式的示例分析

2023-06-29 05:06:06 378人浏览 薄情痞子
摘要

这篇文章主要介绍“Java建造者模式的示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java建造者模式的示例分析”文章能帮助大家解决问题。定义建造者模式(Builder Pattern),又

这篇文章主要介绍“Java建造者模式的示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java建造者模式的示例分析”文章能帮助大家解决问题。

Java建造者模式的示例分析

定义

建造者模式(Builder Pattern),又叫生成器模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可 以构建它们,用户不需要知道内部的具体构建细节。

案例

需求

女生每天化妆,假如只需要做发型,香水,衣服,并要求按照发型——》香水——》衣服的顺序进行,用代码实现

方案一

定义女生抽象类

public abstract class AbstractWoman {    //设计发型    public abstract void buildHairstyle();    //使用香水    public abstract void buildPerfume();    //设计衣服    public abstract void buildClothing();}

定义女生实现类

public class Woman extends AbstractWoman {    @Override    public void buildHairstyle() {        System.out.println("马尾造型");    }    @Override    public void buildPerfume() {        System.out.println("古龙香水");    }    @Override    public void buildClothing() {        System.out.println("海澜之家");    }}

测试

public class Test {    public static void main(String[] args) {        Woman woman = new Woman();        woman.buildHairstyle();        woman.buildPerfume();        woman.buildClothing();        System.out.println(woman);    }}

查看测试结果

Java建造者模式的示例分析

方案二

定义女生类

@Datapublic class WomanNew {    // 发型    private String hairstyle;    // 香水    private String perfume;    // 服装    private String clothing;    //化完妆后的展示效果    public void show(){        System.out.println("化妆完成");    }}

定义化妆师抽象类

public abstract class AbstractDresserNew {    protected Woman woman = new Woman();    //设计发型    public abstract void buildHairstyle();    //使用香水    public abstract void buildPerfume();    //设计衣服    public abstract void buildClothing();    public Woman getWoman(){        return woman;    }}

定义具体的化妆师类

public class DresserNew extends AbstractDresserNew{    @Override    public void buildHairstyle() {        woman.setHairstyle("马尾造型");    }    @Override    public void buildPerfume() {        woman.setPerfume("古龙香水");    }    @Override    public void buildClothing() {        woman.setClothing("海澜之家");    }}

定义化妆总设计师类(指挥者)

public class DresserManage {    private AbstractDresser abstractDresser;    public DresserManage(AbstractDresser abstractDresser){        this.abstractDresser = abstractDresser;    }    public Woman makeUp(){        abstractDresser.buildHairstyle();        abstractDresser.buildPerfume();        abstractDresser.buildClothing();        return abstractDresser.getWoman();    }}

定义测试类

public class TestNew {    public static void main(String[] args) {        DresserNew dresser = new DresserNew();        DresserManage dresserManage = new DresserManage(dresser);        WomanNew womanNew = dresserManage.makeUp();        System.out.println(womanNew);    }}

查看结果

Java建造者模式的示例分析

对比分析

  • 方案一:普通的实现方式,采用了继承抽象类的方式进行实现,耦合性非常高,不易扩展

  • 方案二:建造者模式,将女生和化妆师化妆进行了解耦合,并且易扩展,更换化妆师也很方便;并且有一个化妆总设计师作为指挥者的角色,可以方便的控制化妆的顺序,符合开闭原则

总结

建造者模式的优势:

将产品本身与产品的创建过程解耦合

扩展性很高,很方便的增加或者替换具体建造者

方便用程序来控制产品的创建过程以及顺序

指挥者类针对抽象建造者编程,系统扩展方便,符合开闭原则

注意点

建造者模式创建的产品一般组成部分类似,如果产品差异性非常大,不适合了,合理利用

如果产品内部变化复杂,导致系统非常庞大,权衡

关于“Java建造者模式的示例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Java建造者模式的示例分析

本文链接: https://www.lsjlt.com/news/322713.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java建造者模式的示例分析
    这篇文章主要介绍“Java建造者模式的示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java建造者模式的示例分析”文章能帮助大家解决问题。定义建造者模式(Builder Pattern),又...
    99+
    2023-06-29
  • Java建造者模式案例分析
    这篇文章主要讲解了“Java建造者模式案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java建造者模式案例分析”吧!什么是建造者模式建造者(Builder)模式的定义: 指将一个复杂...
    99+
    2023-06-29
  • Java建造者模式实例分析
    今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点建造者独立,易扩展。便于控...
    99+
    2023-06-29
  • Java设计模式之建造者模式的示例详解
    目录定义案例需求方案一方案二对比分析总结建造者模式的优势:注意点 定义 建造者模式(Builder Pattern),又叫生成器模式,是一种对象构建模式 它可以将复杂对象的建造过程抽...
    99+
    2022-11-13
  • Java装饰者模式的示例分析
    小编给大家分享一下Java装饰者模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义装饰者模式:在不改变原有对象的基础之上,动态的将功能附加到对象上,...
    99+
    2023-06-29
  • Java结构型设计模式中建造者模式示例详解
    目录建造者模式概述角色优缺点应用场景基本使用创建产品类创建建造者类使用链式写法创建产品类与建造者类使用建造者模式 概述 建造者模式(Builder Pattern)属于创建型模式。 ...
    99+
    2022-11-13
  • java实现观察者模式的示例分析
    小编给大家分享一下java实现观察者模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则...
    99+
    2023-05-30
    java
  • Java设计模式之建造者模式实例详解
    本文实例讲述了Java设计模式之建造者模式。分享给大家供大家参考,具体如下:建造者模式(builder)可以将部件和其组装过程分开.一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节.什...
    99+
    2023-05-31
    java 设计模式 建造者模式
  • Java设计者模式简单工厂模式的示例分析
    这篇文章主要介绍Java设计者模式简单工厂模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简介简单工厂模式 (Simple Factory) 又叫静态工厂方法(Static Factory Method)...
    99+
    2023-05-30
    java
  • Java设计模式之建造者模式
    本文由老王家组装电脑引出——建造者设计模式,详细介绍建造者模式的基本概念和实现代码,为了便于理解建造者模式,我们会对实际应用中的典型案例进行介绍。最后对比工厂...
    99+
    2022-11-13
  • Java建造者模式是什么
    这篇文章给大家分享的是有关Java建造者模式是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.提出问题假如说,我们需要建房子:这一过程为打桩、砌墙、封顶。房子有各种各样的,比如普通房,高楼,别墅,各种房子的...
    99+
    2023-06-29
  • java设计模式--建造者模式详解
    目录引例一般解法代码:AbstractHouse(房子)Bungalow(平房)Villa (别墅)客户端调用建造者模式建造者模式解法代码:House类(Product产品)Hous...
    99+
    2022-11-12
  • JAVA设计模式----建造者模式详解
    目录介绍角色代码演示通过反射创建建造者对象优点缺点适用场景总结介绍 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的...
    99+
    2022-11-12
  • Java观察者模式实例分析
    这篇文章主要讲解了“Java观察者模式实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java观察者模式实例分析”吧!使用场景观察者模式所做的工作其实就是在解耦,让耦合的双方都依赖于抽...
    99+
    2023-06-27
  • Vue2.0中观察者模式的示例分析
    这篇文章主要介绍了Vue2.0中观察者模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.Vue1.0 事件的广播与接收(观察者...
    99+
    2022-10-19
  • Javascript中观察者模式的示例分析
    这篇文章主要为大家展示了“Javascript中观察者模式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Javascript中观察者模式的示例分析”这...
    99+
    2022-10-19
  • java模板模式的示例分析
    这篇文章主要介绍java模板模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java设计模式-模板模式什么是模板模式?模板模式,顾名思义,就是通过模板拓印的方式。定义模板,就是定义框架、结构、原型。定义一...
    99+
    2023-06-20
  • java单例模式的示例分析
    这篇文章主要介绍了java单例模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定义:      &nb...
    99+
    2023-05-30
    java
  • java开发建造者模式验证实例详解
    目录引言经典再现建造者模式优点及应用场景工厂方法模式和建造者模式区别拓展与总结引言 创建一个类的实例,我们通常使用类中构造函数来完成对象的初始化,如果一个对象构造过程很复杂,如果将构...
    99+
    2022-11-12
  • js中发布者订阅者模式的示例分析
    这篇文章主要为大家展示了“js中发布者订阅者模式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中发布者订阅者模式的示例分析”这篇文章吧。发布者订阅...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作