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

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

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

  1. 单例 Singleton

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

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

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

  1. 工厂方法 Factory Method

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

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

  1. 抽象工厂 Abstract Factory

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

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

  1. 建造者 Builder

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

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

  1. 原型 Prototype

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

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

速记区分

  • 单例:只能造一个

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

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

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

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

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

相关推荐
聚美智数12 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛12 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓12 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
土豆.exe13 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
小坏讲微服务14 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding14 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
snow@li14 小时前
SpringBoot:核心注解全景梳理 / @xxx 叫“注解”(Annotation)
java·spring
devilnumber14 小时前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
鬼手点金15 小时前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
小陈不好吃15 小时前
equals 与 hashCode 的契约关系:从 HashMap 到 Lombok 注解
java·hashmap·lombok