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

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

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

  1. 单例 Singleton

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

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

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

  1. 工厂方法 Factory Method

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

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

  1. 抽象工厂 Abstract Factory

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

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

  1. 建造者 Builder

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

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

  1. 原型 Prototype

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

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

速记区分

  • 单例:只能造一个

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

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

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

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

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

相关推荐
心之伊始4 小时前
MySQL EXPLAIN 执行计划实战:从 type、Extra 到慢 SQL 定位与优化
java·架构·源码分析·csdn
Java_2017_csdn5 小时前
ComplexKeysShardingAlgorithm 小结
java·大数据·算法
海梨花5 小时前
快手面试高频算法题
java·算法·面试
云烟成雨TD5 小时前
Spring AI 1.x 系列【37】RAG 知识库平台案例:知识库管理
java·人工智能·spring
KANGBboy5 小时前
java知识四(面向对象编程)
android·java·开发语言
tongluowan0075 小时前
ThreadLocal,InheritableThreadLocal,TransmittableThreadLocal详解
java·多线程·上下文
qq_2518364575 小时前
基于java Web 日化商超库存管理系统设计与实现
java·开发语言·前端
破土士V6 小时前
【Java基础语法10】继承、多态、抽象类接口、字符串与异常等
java·开发语言
轻刀快马6 小时前
撕开 Spring 的底裤:解析 Bean 生命周期与三级缓存的“破局”之术
java·spring·缓存