iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java建造者模式实例分析
  • 210
分享到

Java建造者模式实例分析

2023-06-29 08:06:58 210人浏览 独家记忆
摘要

今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点建造者独立,易扩展。便于控

今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

优点

建造者独立,易扩展。

便于控制细节风险。

缺点

产品必须有共同点,范围有限制。

如内部变化复杂,会有很多的建造类。

使用场景

需要生成的对象具有复杂的内部结构。

需要生成的对象内部属性本身相互依赖。

一、实现方式

package com.asurplus.common.builder.style1;public class UserInfo {    private String name;    private int age;        public static UserInfoBuilder builder() {        return new UserInfoBuilder();    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }@Override    public String toString() {        return "UserInfo{" +                "name='" + name +                ", age=" + age +                '}';    }        public static class UserInfoBuilder {        private String name;        private int age;        public UserInfoBuilder name(String name) {            this.name = name;            return this;        }        public UserInfoBuilder age(int age) {            this.age = age;            return this;        }                public UserInfo build() {            UserInfo userInfo = new UserInfo();            userInfo.setName(this.name);            userInfo.setAge(this.age);            return userInfo;        }    }}

我们定义了一个 UserInfo 类,有 name,age 两个属性,还定义了一个静态内部类 UserInfoBuilder,帮助我们建造 UserInfo,并提供链式调用的方法。

二、实现方式

1、引入依赖
<!-- lombok插件 --><dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId>    <optional>true</optional></dependency>

Lombok 需要在 idea 中安装插件,具体方法,请百度。

2、实现
package com.asurplus.common.builder.style2;import lombok.Builder;import lombok.Data;@Data@Builderpublic class UserInfo2 {    private String name;    private int age;}

基于 Lombok 的注解,我们省略了大部分代码,但是具体的实现方式和我们的方式一是一模一样的,调用方法也是一样的。

三、测试

package com.asurplus.common.builder;import com.asurplus.common.builder.style1.UserInfo;import com.asurplus.common.builder.style2.UserInfo2;public class TestMain {    public static void main(String[] args) {        // 手写的方式        UserInfo userInfo = UserInfo.builder().name("张三").age(20).build();        System.out.println(userInfo);        // 注解的方式        UserInfo2 userInfo2 = UserInfo2.builder().name("李四").age(30).build();        System.out.println(userInfo2);    }}

输出结果

Java建造者模式实例分析

以上就是“Java建造者模式实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

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

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

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

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

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

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

  • 微信公众号

  • 商务合作