构建者模式(Builder Pattern)
构建者模式:将一个复杂对象的构造与它的表示分离,使同样的构造可以构造出不同的表示,这样的设计模式被称为构建者模式。
构建者模式主要需要以下几个部分组成:
1、需要构建的对象(例如Animal对象)
2、构建对象的实现类(例如AnimalBuilder对象),在该类中需要提供三种方法
(1)私有的构建对象(Animal)
(2)共有的为构建对象赋值的方法
(3)共有的构建对象方法(例如build方法,返回一个Animal对象)
(4)共有的静态创建构建者方法(非必需)
接下来就直接上代码:
package com.lcl.galaxy.design.pattern.builder; import lombok.Data; @Data public class Animal { private String eye; private String ears; private String nose; private String hair; }
package com.lcl.galaxy.design.pattern.builder; public class AnimalBuilder { private Animal animal = new Animal(); public static AnimalBuilder builder(){ return new AnimalBuilder(); } public AnimalBuilder eye(String eye){ animal.setEye(eye); return this; } public AnimalBuilder ears(String ears){ animal.setEars(ears); return this; } public AnimalBuilder nose(String nose){ animal.setNose(nose); return this; } public AnimalBuilder hair(String hair){ animal.setHair(hair); return this; } public Animal build(){ return animal; } }
测试方法
@Test public void builderTest(){ Animal animal = AnimalBuilder.builder().eye("blue").hair("yellow").build(); log.info("=========== {} =========== ", JSON.toJSONString(animal)); }
构建者模式与工厂模式的区别:工厂模式是创建千篇一律的对象,而构建者模式是可以根据自身需求创建出自定义的对象
构建者与seter方法或构造方法的区别:构造方法我们需要关注构造函数的传参顺序,而构建者模式不需要关心。setter方法是先创建一个对象,然后再set值,在没有完全赋值完成之前,就可能会被其他地方使用,而构建者模式,是必须等调用build方法后才会返回构建完成的对象。
------------------------------------------------------------------
-----------------------------------------------------------
---------------------------------------------
朦胧的夜 留笔~~
-----------------------------------------------------------
---------------------------------------------
朦胧的夜 留笔~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律