Java设计模式-创建型设计模式

创建型设计模式(5种,核心:管控对象创建,隔离new细节)

目的:把对象实例化逻辑和业务使用代码分离,降低耦合、灵活控制对象创建。

  1. 单例 Singleton

保证一个类全局只有一个实例,提供全局访问点。

适用:配置管理器、线程池、日志工具。

两种:饿汉(类加载初始化)、懒汉(用时创建)。

  1. 工厂方法 Factory Method

一个产品对应一个工厂,父类定义创建接口,子类实现实例化。

适用:产品种类会持续扩展,新增产品只加工厂类,不改原有代码。

  1. 抽象工厂 Abstract Factory

一个工厂生产一族相关产品(多系列配套对象)。

例:安卓/ios两套UI控件(按钮+弹窗),一个工厂产出整套控件。

  1. 建造者 Builder

分步构造复杂对象,拆分:建造者+指挥者+产品。

适用:对象属性多、构造步骤固定(如复杂报文、电脑组装)。

  1. 原型 Prototype

克隆已有对象创建新实例,不用new。

适用:创建对象成本高(大数据初始化、资源加载重),深浅拷贝是关键点。

速记区分

  • 单例:只能造一个

  • 工厂方法:一类产品一个厂

  • 抽象工厂:一套产品一个厂

  • 建造者:分步拼复杂对象

  • 原型:复制老对象出新对象

更多分析请转至 码读空间-面试应用题库 小程序

相关推荐
Jelena1577958579210 小时前
电商运营分析数据比价接口实战:多平台价格监控与智能决策系统
java·大数据·数据库
神明不懂浪漫11 小时前
【第五章】Java中的继承与多态
java·开发语言
AI多Agent协作实战派13 小时前
AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时
java·前端·bug
gaolei_eit13 小时前
Java+Ai+vue
java·spring·maven
qq_25183645713 小时前
基于java Web 动漫视频网站毕业论文
java·开发语言·前端
LayZhangStrive13 小时前
JUC相关的函数、注解、变量杂记
java·面试·多线程·juc
未秃头的程序猿13 小时前
给公司做了个AI客服Agent,用的Spring AI 1.0,3天上线领导拍板了
java·后端·ai编程
曹牧13 小时前
Eclipse 批量文本替换
java·ide·eclipse
程序员清风14 小时前
OpenAI官方发布最新提示词技巧!
java·后端·面试
一只枫林14 小时前
MySQL内、外连接知识点汇总
java·前端·数据库