「全网最细 + 实战源码案例」设计模式——工厂方法模式

核心思想

  • 简单工厂模式是一种创建者模式,它通过一个工厂类负责创建不同类型的对象,根据传入的参数决定实例化的具体类,也被称为"静态工厂方法"模式,因为工厂方法通常是静态的。

结构

1. 工厂类:

  • 提供一个静态方法,根据不同条件创建并返回具体的产品对象。

2. 产品接口(抽象类)

  • 定义产品的通用行为。

3. 具体产品类

  • 工厂根据条件创建的具体实例。

适用场景

1. 创建的对象种类少。

2. 调用者不需要关心具体产品类的创建细节。


优缺点

优点:

1.1. 封装性强:调用者无需知道产品类的具体实现细节,只需通过工厂类获取产品对象。

1.2. 代码复用:将对象的创建逻辑集中在工厂类中,避免重复代码。

缺点:

1.1. 扩展性差:增加新产品时需要修改工厂类代码,违反开闭原则(OCP)。

1.2. 职责集中:工厂类集中了所有产品的创建逻辑,可能导致类的职责过重。


示例


与其他模式的关系

相关推荐
源码获取_wx:Fegn08951 分钟前
计算机毕业设计|基于springboot + vue鲜花销售管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
wangbing11252 分钟前
开发指南142-类和字符串转换
java·开发语言
A懿轩A15 分钟前
【Java 基础编程】Java 集合框架详解:List/Set/Map 选型 + ArrayList/HashMap 原理与使用
java·windows·list
毕设源码-赖学姐17 分钟前
【开题答辩全过程】以 基于SpringBoot 的个人健康分析指导系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
源代码•宸20 分钟前
简版抖音项目——项目需求、项目整体设计、Gin 框架使用、视频模块方案设计、用户与鉴权模块方案设计、JWT
经验分享·后端·golang·音视频·gin·jwt·gorm
范什么特西35 分钟前
配置Maven准备工作
java·maven
礼拜天没时间.1 小时前
Node.js运维部署实战:从0到1开始搭建Node.js运行环境
linux·运维·后端·centos·node.js·sre
海兰1 小时前
Elasticsearch Java 客户端(9.x)
java·elasticsearch·jenkins
重生之后端学习1 小时前
17. 电话号码的字母组合
java·开发语言·数据结构·算法·深度优先
蜜獾云1 小时前
JAVA面试题速记-redis知识点
java·开发语言·redis