当前位置: 首页 > news >正文

Java设计模式-快速入门

Java设计模式-快速入门


设计模式基础认知

#### 定义与价值

  • 核心定义:解决特定问题的通用解决方案,经过验证的解决方案框架。

  • 作用:提升代码的可维护性/扩展性/复用性

    • 解耦对象关系,提升代码可维护性(模块解耦)

    • 预留扩展点,增强系统扩展性(灵活应对需求变更)

    • 抽象共性逻辑,促进团队协作(统一设计语言)

课程目标
  • 理解 GOF 设计模式的核心思想与典型应用场景;

  • 能看出代码中的优化点,使用设计模式优化现有系统;

  • 能写出“低耦合、高扩展、团队一眼能懂”的编码实现。


设计模式核心原则

SOLID原则体系
原则缩写全称核心要义典型应用场景
SRP单一职责原则一个类只负责单一功能分层架构(DAO/Service/Controller)
OCP开闭原则对扩展开放,对修改关闭插件化系统、策略模式
LSP里氏替换原则子类可替换父类且不破坏逻辑继承体系设计
ISP接口隔离原则避免客户端依赖不需要的方法微服务接口定义
DIP依赖倒置原则高层依赖抽象而非具体实现依赖注入(Spring IoC)
其他重要原则
  • 迪米特法则:对象间最小化交互

  • 合成复用原则:优先使用组合而非继承


设计模式分类体系

三大分类维度
分类维度包含模式类型典型模式(示例)核心关注点
创建型对象实例化过程控制单例、工厂、建造者、原型对象创建的灵活性与安全性
结构型类/对象组合方式优化适配器、装饰器、代理、外观系统扩展性与兼容性
行为型对象间协作与职责分配观察者、策略、命令、责任链交互逻辑与算法动态切换
23种模式全景图

行为型(11 种)

结构型(7 种)

创建型(5 种)

使用

使用

克隆对象

可叠加

可结合

可能封装

保持迭代状态

状态切换策略

触发

构建复杂结构

创建策略对象

事件总线

遍历结构

责任链模式

命令模式

解释器模式

迭代器模式

中介者模式

备忘录模式

观察者模式

状态模式

策略模式

模板方法模式

访问者模式

适配器模式

桥接模式

组合模式

装饰器模式

外观模式

享元模式

代理模式

单例模式

工厂方法模式

抽象工厂模式

建造者模式

原型模式

http://www.dtcms.com/a/327228.html

相关文章:

  • LeetCode算法领域经典入门题目之“Two Sum”问题
  • 1.4.1 副驾驶(Copilot)模式:让人工智能大模型成为你的指导和建议者
  • 从零开始之stm32之CAN通信
  • 聚合搜索中的设计模式
  • 鲲鹏arm服务器安装neo4j社区版,实现图书库自然语言检索基础
  • leetcode49.字母异位词分组
  • NLP—词向量转换评论学习项目分析真实案例
  • 本地(macOS)和服务器时间不同步导致的 Bug排查及解决
  • linux 执行ls命令文件夹显示全白色
  • 微前端架构:原理、场景与实践案例
  • Rust 性能提升“最后一公里”:详解 Profiling 瓶颈定位与优化|得物技术
  • 计算机视觉(6)-自动驾驶感知方案对比
  • 使用 NetBird 创建安全的私有网络,简化远程连接!
  • Golang 语言中 Context 的使用方式
  • Rust学习笔记(二)|变量、函数与控制流
  • 【七指共振擒牛战法】副图+选股指标——多维度捕捉主升浪的量化交易利器
  • 智慧校园|智慧校园管理小程序|基于微信小程序的智慧校园管理系统设计与实现(源码+数据库+文档)
  • [Robotics_py] 定位滤波器 | 预测与更新 | 扩展卡尔曼滤波器(`EKF`)
  • Linux操作系统应用软件编程——标准IO
  • Java Stream ReduceOps
  • 负载均衡详解
  • 小程序排名优化:用户行为数据背后的提升密码
  • PostgreSQL 范围、空间唯一性约束
  • 「ECG信号处理——(23)基于ECG和PPG信号的血压预测」2025年8月12日
  • SQL 生成日期与产品的所有组合:CROSS JOIN(笛卡尔积)
  • Linux 系统运维、网络、SQL Server常用命令
  • 机器学习 [白板推导](九)[变分推断]
  • DRAM、SRAM、NAND Flash、NOR Flash、EEPROM、MRAM存储器你分得清吗?
  • 用pom文件从nexus3拉依赖,无法拉取的一个问题
  • 逻辑删除 vs 物理删除:MyBatis-Plus 实现指南与实践