JAVA 设计模式

                                           JAVA 设计模式

在尚硅谷学习记录的一些内容,希望可以和大家一起学习,由于内容过多,具体内容在云盘。

第  1  章  内容介绍和授课方式 1

    1. JAVA 设计模式内容介绍 1
      1. 先看几个经典的面试题 1
      2. 设计模式的重要性 3
    2. 课程亮点和授课方式 4

第  2  章  设计模式七大原则 6

    1. 设计模式的目的 6
    2. 设计模式七大原则 6
    3. 单一职责原则 7
      1. 基本介绍 7
      2. 应用实例 7
      3. 单一职责原则注意事项和细节 12
    4. 接口隔离原则(INTERFACE SEGREGATION PRINCIPLE) 12
      1. 基本介绍 12
      2. 应用实例 13
      3. 应传统方法的问题和使用接口隔离原则改进 16
    5. 依赖倒转原则 21
      1. 基本介绍 21
      2. 应用实例 21
      3. 依赖关系传递的三种方式和应用案例 24
      4. 依赖倒转原则的注意事项和细节 28
    6. 里氏替换原则 29
      1. OO 中的继承性的思考和说明 29
      2. 基本介绍 29
      3. 一个程序引出的问题和思考 30
      4. 解决方法 31
    7. 开闭原则 34
      1. 基本介绍 34
      2. 看下面一段代码 35
      3. 方式 1 的优缺点 38
      4. 改进的思路分析 38
    8. 迪米特法则 42
      1. 基本介绍 42
      2. 应用实例 42
      3. 应用实例改进 46
      4. 迪米特法则注意事项和细节 51
    9. 合成复用原则(COMPOSITE REUSE PRINCIPLE) 51
      1. 基本介绍 51
    10. 设计原则核心思想 51

第  3  章  UML 类图 53

    1. UML 基本介绍 53
    2. UML 图 54
    3. UML 类图 55
    4. 类图—依赖关系(DEPENDENCE) 56
    5. 类图—泛化关系(GENERALIZATION) 57
    6. 类图—实现关系(IMPLEMENTATION) 58
    7. 类图—关联关系(ASSOCIATION) 59
    8. 类图—聚合关系(AGGREGATION) 59
      1. 基本介绍 59
      2. 应用实例 59
    9. 类图—组合关系(COMPOSITION) 60
      1. 基本介绍 60
      2. 应用案例 60

第  4  章  设计模式概述 63

    1. 掌握设计模式的层次 63
    2. 设计模式介绍 63
    3. 设计模式类型 63

第  5  章  单例设计模式 65

    1. 单例设计模式介绍 65
    2. 单例设计模式八种方式 65
    3. 饿汉式(静态常量) 65
    4. 饿汉式(静态代码块) 67
    5. 懒汉式(线程不安全) 69
    6. 懒汉式(线程安全,同步方法) 71
    7. 懒汉式(线程安全,同步代码块) 72
    8. 双重检查 73
    9. 静态内部类 75

5.10 枚举 77

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

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

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

第  6 章  工 厂 模式 80

    1. 简单工厂模式 80
      1. 看一个具体的需求 80
      2. 使用传统的方式来完成 80
      3. 传统的方式的优缺点 82
      4. 基本介绍 82
      5. 使用简单工厂模式 83
    2. 工厂方法模式 89
      1. 看一个新的需求 89

6.2.2 思 路 1 89

6.2.3 思 路 2 89

      1. 工厂方法模式介绍 89
      2. 工厂方法模式应用案例 89
    1. 抽象工厂模式 94
      1. 基本介绍 94
      2. 抽象工厂模式应用实例 95
    2. 工厂模式在 JDK-CALENDAR  应用的源码分析 99
    3. 工厂模式小结 103

第  7 章  原 型 模式 104

    1. 克隆羊问题 104
    2. 传统方式解决克隆羊问题 104
    3. 传统的方式的优缺点 105
    4. 原型模式-基本介绍 105
    5. 原型模式原理结构图-UML 类图 106
    6. 原型模式解决克隆羊问题的应用实例 106
    7. 原型模式在 SPRING 框架中源码分析 110
    8. 深入讨论-浅拷贝和深拷贝 110
      1. 浅拷贝的介绍 110
      2. 深拷贝基本介绍 111
    9. 深拷贝应用实例 111
    10. 原型模式的注意事项和细节 116

第  8  章  建造者模式 118

    1. 盖房项目需求 118
    2. 传统方式解决盖房需求 118
    3. 传统方式的问题分析 120
    4. 建造者模式基本介绍 121
    5. 建造者模式的四个角色 121
    6. 建造者模式原理类图 121
    7. 建造者模式解决盖房需求应用实例 122
    8. 建造者模式在 JDK 的应用和源码分析 129
    9. 建造者模式的注意事项和细节 129

第  9  章  适配器设计模式 131

    1. 现实生活中的适配器例子 131
    2. 基本介绍 131
    3. 工作原理 131
    4. 类适配器模式 132
      1. 类适配器模式介绍 132
      2. 类适配器模式应用实例 132
      3. 类适配器模式注意事项和细节 135
    5. 对象适配器模式 135
      1. 对象适配器模式介绍 135
      2. 对象适配器模式应用实例 136
      3. 对象适配器模式注意事项和细节 140
    6. 接口适配器模式 140
      1. 接口适配器模式介绍 140
      2. 接口适配器模式应用实例 140
    7. 适配器模式在 SPRINGMVC 框架应用的源码剖析 144
    8. 适配器模式的注意事项和细节 146

第  10 章  桥 接 模式 147

    1. 手机操作问题 147
    2. 传统方案解决手机操作问题 147
    3. 传统方案解决手机操作问题分析 148
    4. 桥接模式(BRIDGE)-基本介绍 148
    5. 桥接模式(BRIDGE)-原理类图 148
    6. 桥接模式解决手机操作问题 149
    7. 桥接模式在 JDBC 的源码剖析 156
    8. 桥接模式的注意事项和细节 157
    9. 常见的应用场景 158

第  11  章  装饰者设计模式 159

    1. 星巴克咖啡订单项目(咖啡馆): 159
    2. 方案 1-解决星巴克咖啡订单项目 159
    3. 方案 1-解决星巴克咖啡订单问题分析 159
    4. 方案 2-解决星巴克咖啡订单(好点) 160
    5. 方案 2-解决星巴克咖啡订单问题分析 160
    6. 装饰者模式定义 161
    7. 装饰者模式原理 161
    8. 装饰者模式解决星巴克咖啡订单 162
    9. 装饰者模式下的订单:2 份巧克力+一份牛奶的 LONGBLACK 162
    10. 装饰者模式咖啡订单项目应用实例 162
    11. 装饰者模式在 JDK 应用的源码分析 170

第  12 章  组 合 模式 172

    1. 看一个学校院系展示需求 172
    2. 传统方案解决学校院系展示(类图) 172
    3. 传统方案解决学校院系展示存在的问题分析 172
    4. 组合模式基本介绍 173
    5. 组合模式原理类图 173
    6. 组合模式解决学校院系展示的  应用实例 174
    7. 组合模式在 JDK 集合的源码分析 183
    8. 组合模式的注意事项和细节 184

第  13 章  外 观 模式 185

    1. 影院管理项目 185
    2. 传统方式解决影院管理 185
    3. 传统方式解决影院管理问题分析 186
    4. 外观模式基本介绍 186
    5. 外观模式原理类图 186
    6. 外观模式解决影院管理 187
      1. 传统方式解决影院管理说明 187
      2. 外观模式应用实例 187
    7. 外观模式在 MYBATIS 框架应用的源码分析 197
    8. 外观模式的注意事项和细节 198

第  14 章  享 元 模式 199

    1. 展示网站项目需求 199
    2. 传统方案解决网站展现项目 199
    3. 传统方案解决网站展现项目-问题分析 199
    4. 享元模式基本介绍 200
    5. 享元模式的原理类图 200
    6. 内部状态和外部状态 201
    7. 享元模式解决网站展现项目 202
    8. 享元模式在 JDK-INTERGER 的应用源码分析 207
    9. 享元模式的注意事项和细节 209

第  15 章  代 理 模式 210

    1. 代理模式(PROXY) 210
      1. 代理模式的基本介绍 210
    2. 静态代理 210
      1. 静态代码模式的基本介绍 210
      2. 应用实例 211
      3. 静态代理优缺点 214
    3. 动态代理 214
      1. 动态代理模式的基本介绍 214
      2. JDK 中生成代理对象的 API 214
      3. 动态代理应用实例 214
    4. CGLIB 代理 219
      1. Cglib 代理模式的基本介绍 219
      2. Cglib 代理模式实现步骤 220
      3. Cglib 代理模式应用实例 220
    5. 几种常见的代理模式介绍—  几种变体 223

第  16 章  模板方法模式 225

    1. 豆浆制作问题 225
    2. 模板方法模式基本介绍 225
    3. 模板方法模式原理类图 225

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

    1. 模板方法模式解决豆浆制作问题 226
    2. 模板方法模式的钩子方法 230
    3. 模板方法模式在 SPRING 框架应用的源码分析 232
    4. 模板方法模式的注意事项和细节 233

第  17 章  命 令 模式 234

    1. 智能生活项目需求 234
    2. 命令模式基本介绍 234
    3. 命令模式的原理类图 235
    4. 命令模式解决智能生活项目 235
    5. 命令模式在 SPRING 框架 JDBCTEMPLATE 应用的源码分析 247
    6. 命令模式的注意事项和细节 248

第  18 章  访问者模式 249

    1. 测评系统的需求 249
    2. 传统方式的问题分析 249
    3. 访问者模式基本介绍 249
    4. 访问者模式的原理类图 250
    5. 访问者模式应用实例 251
    6. 访问者模式的注意事项和细节 258

第  19 章  迭代器模式 259

    1. 看一个具体的需求 259
    2. 传统的设计方案(类图) 259
    3. 传统的方式的问题分析 259
    4. 迭代器模式基本介绍 259
    5. 迭代器模式的原理类图 260
    6. 迭代器模式应用实例 260
    7. 迭代器模式在 JDK-ARRAYLIST 集合应用的源码分析 272
    8. 迭代器模式的注意事项和细节 273

第  20 章  观察者模式 275

    1. 天气预报项目需求,具体要求如下: 275
    2. 天气预报设计方案 1-普通方案 275
      1. WeatherData 类 275
    3. 观察者模式原理 280
    4. 观察者模式解决天气预报需求 280
      1. 类图说明 280
      2. 代码实现 281
      3. 观察者模式的好处 288
    5. 观察者模式在 JDK 应用的源码分析 288

第  21 章  中介者模式 290

    1. 智能家庭项目 290
    2. 传统方案解决智能家庭管理问题 290
    3. 传统的方式的问题分析 290
    4. 中介者模式基本介绍 291
    5. 中介者模式的原理类图 291
    6. 中介者模式应用实例-智能家庭管理 291
    7. 中介者模式的注意事项和细节 301

第  22 章  备忘录模式 302

    1. 游戏角色状态恢复问题 302
    2. 传统方案解决游戏角色恢复 302
    3. 传统的方式的问题分析 302
    4. 备忘录模式基本介绍 302
    5. 备忘录模式的原理类图 303
    6. 游戏角色恢复状态实例 308
    7. 备忘录模式的注意事项和细节 313

第  23 章  解释器模式 315

    1. 四则运算问题 315
    2. 传统方案解决四则运算问题分析 315
    3. 解释器模式基本介绍 315
    4. 解释器模式的原理类图 316
    5. 解释器模式来实现四则 316
    6. 解释器模式在 SPRING 框架应用的源码剖析 325
    7. 解释器模式的注意事项和细节 326

第  24 章  状 态 模式 327

    1. APP 抽奖活动问题 327
    2. 状态模式基本介绍 327
    3. 状态模式的原理类图 327
    4. 状态模式解决 APP 抽奖问 328
    5. 状态模式在实际项目-借贷平台  源码剖析 341
    6. 状态模式的注意事项和细节 354

第  25 章  策 略 模式 355

    1. 编写鸭子项目,具体要求如下 355
    2. 传统方案解决鸭子问题的分析和代码实现 355
    3. 传统的方式实现的问题分析和解决方案 359
    4. 策略模式基本介绍 359
    5. 策略模式的原理类图 359
    6. 策略模式解决鸭子问题 360
    7. 策略模式在 JDK-ARRAYS  应用的源码分析 368
    8. 策略模式的注意事项和细节 371

第  26 章  职责链模式 372

    1. 学校 OA 系统的采购审批项目:需求是 372
    2. 传统方案解决 OA 系统审批,传统的设计方案(类图) 372
    3. 传统方案解决 OA 系统审批问题分析 372
    4. 职责链模式基本介绍 373
    5. 职责链模式的原理类图 373
    6. 职责链模式解决 OA 系统采购审批 373
    7. 职责链模式在 SPRINGMVC 框架应用的源码分析 381
    8. 职责链模式的注意事项和细节 383

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值