在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → 图解java设计模式

图解java设计模式

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:5.82M
  • 下载次数:36
  • 浏览次数:104
  • 发布时间:2022-11-06
  • 实例类别:Java语言基础
  • 发 布 人:workingclass
  • 文件格式:.docx
  • 所需积分:2
 相关标签: java 设计模式 图解 设计 模式

实例介绍

【实例简介】图解java设计模式

【实例截图】

from clipboardfrom clipboardfrom clipboardfrom clipboardfrom clipboardfrom clipboardfrom clipboard

【核心代码】


 

 

 

Java 设计模式


1.1 JAVA 设计模式内容介绍 1

1.1.1 先看几个经典的面试题 1

1.1.2 设计模式的重要性 3

1.2 课程亮点和授课方式 4

 2    设计模式七大原则 6

2.1 设计模式的目的 6

2.2 设计模式七大原则 6

2.3 单一职责原则 7

2.3.1 基本介绍 7

2.3.2 应用实例 7

2.3.3 单一职责原则注意事项和细节 12

2.4 接口隔离原则(INTERFACE SEGREGATION PRINCIPLE) 12

2.4.1 基本介绍 12

2.4.2 应用实例 13

2.4.3 应传统方法的问题和使用接口隔离原则改进 16

2.5 依赖倒转原则 21

2.5.1 基本介绍 21

2.5.2 应用实例 21

2.5.3 依赖关系传递的三种方式和应用案例 24

2.5.4 依赖倒转原则的注意事项和细节 28

2.6 里氏替换原则 29

2.6.1 OO 中的继承性的思考和说明 29

2.6.2 基本介绍 29

2.6.3 一个程序引出的问题和思考 30

2.6.4 解决方法 31

2.7 开闭原则 34

2.7.1 基本介绍 34

2.7.2 看下面一段代码 35

2.7.3 方式 1 的优缺点 38

2.7.4 改进的思路分析 38

2.8 迪米特法则 42

2.8.1 基本介绍 42

2.8.2 应用实例 42

2.8.3 应用实例改进 46

2.8.4 迪米特法则注意事项和细节 51

2.9 合成复用原则(COMPOSITE REUSE PRINCIPLE 51

2.9.1 基本介绍 51

2.10 设计原则核心思想 51

 3    UML 类图 53

3.1 UML 基本介绍 53

3.2 UML  54

3.3 UML 类图 55

3.4 类图—依赖关系(DEPENDENCE 56

3.5 类图—泛化关系(GENERALIZATION 57

3.6 类图—实现关系(IMPLEMENTATION 58

3.7 类图—关联关系(ASSOCIATION 59

3.8 类图—聚合关系(AGGREGATION 59

3.8.1 基本介绍 59

3.8.2 应用实例 59

3.9 类图—组合关系(COMPOSITION 60

3.9.1 基本介绍 60

3.9.2 应用案例 60

 4    设计模式概述 63

4.1 掌握设计模式的层次 63

4.2 设计模式介绍 63

4.3 设计模式类型 63

 5    单例设计模式 65

5.1 单例设计模式介绍 65

5.2 单例设计模式八种方式 65

5.3 饿汉式(静态常量) 65

5.4 饿汉式(静态代码块) 67

5.5 懒汉式(线程不安全) 69

5.6 懒汉式(线程安全,同步方法) 71

5.7 懒汉式(线程安全,同步代码块) 72

5.8 双重检查 73

5.9 静态内部类 75

5.10 枚举 77

5.11 单例模式在 JDK  应用的源码分析 78

5.11.1 单例模式在 JDK 应用的源码分析 78

5.12 单例模式注意事项和细节说明 79

 6    模式 80

6.1 简单工厂模式 80

6.1.1 看一个具体的需求 80

6.1.2 使用传统的方式来完成 80

6.1.3 传统的方式的优缺点 82

6.1.4 基本介绍 82

6.1.5 使用简单工厂模式 83

6.2 工厂方法模式 89

6.2.1 看一个新的需求 89

6.2.2   1 89

6.2.3   2 89

6.2.4 工厂方法模式介绍 89

6.2.5 工厂方法模式应用案例 89

6.2 抽象工厂模式 94

6.3.1 基本介绍 94

6.3.2 抽象工厂模式应用实例 95

6.3 工厂模式在 JDK-CALENDAR  应用的源码分析 99

6.4 工厂模式小结 103

 7    模式 104

7.1 克隆羊问题 104

7.2 传统方式解决克隆羊问题 104

7.3 传统的方式的优缺点 105

7.4 原型模式-基本介绍 105

7.5 原型模式原理结构图-UML 类图 106

7.6 原型模式解决克隆羊问题的应用实例 106

7.7 原型模式在 SPRING 框架中源码分析 110

7.8 深入讨论-浅拷贝和深拷贝 110

7.8.1 浅拷贝的介绍 110

7.8.2 深拷贝基本介绍 111

7.9 深拷贝应用实例 111

7.10 原型模式的注意事项和细节 116

 8    建造者模式 118

8.1 盖房项目需求 118

8.2 传统方式解决盖房需求 118

8.3 传统方式的问题分析 120

8.4 建造者模式基本介绍 121

8.5 建造者模式的四个角色 121

8.6 建造者模式原理类图 121

8.7 建造者模式解决盖房需求应用实例 122

8.8 建造者模式在 JDK 的应用和源码分析 129

8.9 建造者模式的注意事项和细节 129

 9    适配器设计模式 131

9.1 现实生活中的适配器例子 131

9.2 基本介绍 131

9.3 工作原理 131

9.4 类适配器模式 132

9.4.1 类适配器模式介绍 132

9.4.2 类适配器模式应用实例 132

9.4.3 类适配器模式注意事项和细节 135

9.5 对象适配器模式 135

9.5.1 对象适配器模式介绍 135

9.5.2 对象适配器模式应用实例 136

9.5.3 对象适配器模式注意事项和细节 140

9.6 接口适配器模式 140

9.6.1 接口适配器模式介绍 140

9.6.2 接口适配器模式应用实例 140

9.7 适配器模式在 SPRINGMVC 框架应用的源码剖析 144

9.8 适配器模式的注意事项和细节 146

 10    模式 147

10.1 手机操作问题 147

10.2 传统方案解决手机操作问题 147

10.3 传统方案解决手机操作问题分析 148

10.4 桥接模式(BRIDGE)-基本介绍 148

10.5 桥接模式(BRIDGE)-原理类图 148

10.6 桥接模式解决手机操作问题 149

10.7 桥接模式在 JDBC 的源码剖析 156

10.8 桥接模式的注意事项和细节 157

10.9 常见的应用场景 158

 11    装饰者设计模式 159

11.1 星巴克咖啡订单项目(咖啡馆): 159

11.2 方案 1-解决星巴克咖啡订单项目 159

11.3 方案 1-解决星巴克咖啡订单问题分析 159

11.4 方案 2-解决星巴克咖啡订单(好点) 160

11.5 方案 2-解决星巴克咖啡订单问题分析 160

11.6 装饰者模式定义 161

11.7 装饰者模式原理 161

11.8 装饰者模式解决星巴克咖啡订单 162

11.9 装饰者模式下的订单:份巧克力 一份牛奶的 LONGBLACK 162

11.10 装饰者模式咖啡订单项目应用实例 162

11.11 装饰者模式在 JDK 应用的源码分析 170

 12    模式 172

12.1 看一个学校院系展示需求 172

12.2 传统方案解决学校院系展示(类图) 172

12.3 传统方案解决学校院系展示存在的问题分析 172

12.4 组合模式基本介绍 173

12.5 组合模式原理类图 173

12.6 组合模式解决学校院系展示的  应用实例 174

12.7 组合模式在 JDK 集合的源码分析 183

12.8 组合模式的注意事项和细节 184

 13    模式 185

13.1 影院管理项目 185

13.2 传统方式解决影院管理 185

13.3 传统方式解决影院管理问题分析 186

13.4 外观模式基本介绍 186

13.5 外观模式原理类图 186

13.6 外观模式解决影院管理 187

13.6.1 传统方式解决影院管理说明 187

13.6.2 外观模式应用实例 187

13.7 外观模式在 MYBATIS 框架应用的源码分析 197

13.8 外观模式的注意事项和细节 198

 14    模式 199

14.1 展示网站项目需求 199

14.2 传统方案解决网站展现项目 199

14.3 传统方案解决网站展现项目-问题分析 199

14.4 享元模式基本介绍 200

14.5 享元模式的原理类图 200

14.6 内部状态和外部状态 201

14.7 享元模式解决网站展现项目 202

14.8 享元模式在 JDK-INTERGER 的应用源码分析 207

14.9 享元模式的注意事项和细节 209

 15    模式 210

15.1 代理模式(PROXY) 210

15.1.1 代理模式的基本介绍 210

15.2 静态代理 210

15.2.1 静态代码模式的基本介绍 210

15.2.2 应用实例 211

15.2.3 静态代理优缺点 214

15.3 动态代理 214

15.3.1 动态代理模式的基本介绍 214

15.3.2 JDK 中生成代理对象的 API 214

15.3.3 动态代理应用实例 214

15.4 CGLIB 代理 219

15.4.1 Cglib 代理模式的基本介绍 219

15.4.2 Cglib 代理模式实现步骤 220

15.4.3 Cglib 代理模式应用实例 220

15.5 几种常见的代理模式介绍 几种变体 223

 16   模板方法模式 225

16.1 豆浆制作问题 225

16.2 模板方法模式基本介绍 225

16.3 模板方法模式原理类图 225

16.3.1 模板方法模式的原理类图 225

16.4 模板方法模式解决豆浆制作问题 226

16.5 模板方法模式的钩子方法 230

16.6 模板方法模式在 SPRING 框架应用的源码分析 232

16.7 模板方法模式的注意事项和细节 233

 17    模式 234

17.1 智能生活项目需求 234

17.2 命令模式基本介绍 234

17.3 命令模式的原理类图 235

17.4 命令模式解决智能生活项目 235

17.5 命令模式在 SPRING 框架 JDBCTEMPLATE 应用的源码分析 247

17.6 命令模式的注意事项和细节 248

 18   访问者模式 249

18.1 测评系统的需求 249

18.2 传统方式的问题分析 249

18.3 访问者模式基本介绍 249

18.4 访问者模式的原理类图 250

18.5 访问者模式应用实例 251

18.6 访问者模式的注意事项和细节 258

 19   迭代器模式 259

19.1 看一个具体的需求 259

19.2 传统的设计方案(类图) 259

19.3 传统的方式的问题分析 259

19.4 迭代器模式基本介绍 259

19.5 迭代器模式的原理类图 260

19.6 迭代器模式应用实例 260

19.7 迭代器模式在 JDK-ARRAYLIST 集合应用的源码分析 272

19.8 迭代器模式的注意事项和细节 273

 20   观察者模式 275

20.1 天气预报项目需求,具体要求如下: 275

20.2 天气预报设计方案 1-普通方案 275

20.2.1 WeatherData 275

20.3 观察者模式原理 280

20.4 观察者模式解决天气预报需求 280

20.4.1 类图说明 280

20.4.2 代码实现 281

20.4.3 观察者模式的好处 288

20.5 观察者模式在 JDK 应用的源码分析 288

 21   中介者模式 290

21.1 智能家庭项目 290

21.2 传统方案解决智能家庭管理问题 290

21.3 传统的方式的问题分析 290

21.4 中介者模式基本介绍 291

21.5 中介者模式的原理类图 291

21.6 中介者模式应用实例-智能家庭管理 291

21.7 中介者模式的注意事项和细节 301

 22   备忘录模式 302

22.1 游戏角色状态恢复问题 302

22.2 传统方案解决游戏角色恢复 302

22.3 传统的方式的问题分析 302

22.4 备忘录模式基本介绍 302

22.5 备忘录模式的原理类图 303

22.6 游戏角色恢复状态实例 308

22.7 备忘录模式的注意事项和细节 313

 23   解释器模式 315

23.1 四则运算问题 315

23.2 传统方案解决四则运算问题分析 315

23.3 解释器模式基本介绍 315

23.4 解释器模式的原理类图 316

23.5 解释器模式来实现四则 316

23.6 解释器模式在 SPRING 框架应用的源码剖析 325

23.7 解释器模式的注意事项和细节 326

 24    模式 327

24.1 APP 抽奖活动问题 327

24.2 状态模式基本介绍 327

24.3 状态模式的原理类图 327

24.4 状态模式解决 APP 抽奖问 328

24.5 状态模式在实际项目-借贷平台  源码剖析 341

24.6 状态模式的注意事项和细节 354

 25    模式 355

25.1 编写鸭子项目,具体要求如下 355

25.2 传统方案解决鸭子问题的分析和代码实现 355

25.3 传统的方式实现的问题分析和解决方案 359

25.4 策略模式基本介绍 359

25.5 策略模式的原理类图 359

25.6 策略模式解决鸭子问题 360

25.7 策略模式在 JDK-ARRAYS  应用的源码分析 368

25.8 策略模式的注意事项和细节 371

 26   职责链模式 372

26.1 学校 OA 系统的采购审批项目:需求是 372

26.2 传统方案解决 OA 系统审批,传统的设计方案(类图) 372

26.3 传统方案解决 OA 系统审批问题分析 372

26.4 职责链模式基本介绍 373

26.5 职责链模式的原理类图 373

26.6 职责链模式解决 OA 系统采购审批 373

26.7 职责链模式在 SPRINGMVC 框架应用的源码分析 381

26.8 职责链模式的注意事项和细节 383

实例下载地址

图解java设计模式

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警