设计模式概述

笔记/Java/设计模式/设计模式概述

对应 设计模式面试题 14 道

为什么学设计模式#

设计模式是可复用的面向对象设计方案,不是语法,而是组织类与对象的经验。读懂 JDK / Spring 源码、维护老项目、写出低耦合代码都绕不开它。

三大分类#

分类关注点笔记
创建型如何创建对象创建型模式
结构型如何组合类与对象结构型模式
行为型对象如何协作行为型模式
创建型 — 单例、工厂方法、抽象工厂、建造者、原型
结构型 — 代理、外观、适配器、装饰器、桥接、组合、享元
行为型 — 策略、模板方法、观察者、责任链、命令、状态…

设计模式三大分类
设计模式三大分类

六大原则(SOLID + 最少知道)#

原则一句话
开闭扩展开放,修改关闭
里氏替换子类能替换父类使用
依赖倒置依赖接口,不依赖具体
接口隔离接口小而专
迪米特少依赖无关类,高内聚低耦合
单一职责一个类只做一类事

设计模式六大原则
设计模式六大原则

模式对比速查#

对比区别
工厂 vs 建造者创建 vs 分步组装
代理 vs 装饰器控制访问/增强 vs 动态叠加职责
策略 vs 状态算法可互换 vs 状态驱动行为切换
外观 vs 适配器简化一组接口 vs 转换不兼容接口

Spring 中的模式地图#

组件模式详见
BeanFactory / ApplicationContext工厂创建型
singleton Bean单例创建型
prototype Bean原型创建型
AOP代理结构型
JdbcTemplate模板方法行为型
ApplicationEvent观察者行为型

Spring 设计模式地图
Spring 设计模式地图

文章目录

文章目录