图解Java设计模式
- 001 设计模式面试题(1)
- 002 设计模式面试题(2)
- 003 何时会用到设计模式
- 004 内容和授课方式
- 005 七大设计原则介绍
- 006 单一职责原则
- 007 单一职责原则小结
- 008 接口隔离原则(1)
- 009 接口隔离原则(2)
- 010 接口隔离原则小结
- 011 依赖倒转原则(1)
- 012 依赖倒转原则(2)
- 013 依赖倒转原则小结
- 014 里氏替换原则(1)
- 015 里氏替换原则(2)
- 016 开闭原则(1)
- 017 开闭原则(2)
- 018 开闭原则小结
- 019 迪米特法则(1)
- 020 迪米特法则(2)
- 021 迪米特法则注意事项
- 022 合成复用原则及小结
- 023 UML基本介绍
- 024 UML类图
- 025 类的依赖、泛化和实现
- 026 类的关联、聚合和组合
- 027 类图六大关系总结
- 028 设计模式概述和分类
- 029 单例(静态常量饿汉式)
- 030 单例(静态代码块饿汉式)
- 031 单例(线程不安全懒汉式)
- 032 单例(线程安全懒汉式)
- 033 单例(同步代码块懒汉式)
- 034 单例(DoubleCheck)
- 035 单例(静态内部类)
- 036 单例(枚举方式)
- 037 单例模式JKD源码分析
- 038 单例模式注意事项
- 039 简单工厂模式(1)-披萨订购
- 040 简单工厂模式(2)-披萨订购
- 041 简单工厂模式(3)-披萨订购
- 042 简单工厂模式(4)-披萨订购
- 043 工厂方法模式(1)-披萨订购
- 044 工厂方法模式(2)-披萨订购
- 045 抽象工厂模式(1)-披萨订购
- 046 抽象工厂模式(2)-披萨订购
- 047 工厂模式-JDK源码分析
- 048 工厂模式-小结
- 049 原型模式(1)-克隆羊
- 050 原型模式(2)-克隆羊
- 051 原型模式(3)-Spring源码分析
- 052 原型模式(4)-深拷贝
- 053 原型模式(5)-深拷贝
- 054 原型模式(6)-内容梳理
- 055 建造者模式(1)-盖房子
- 056 建造者模式(2)-原理类图
- 057 建造者模式(3)-盖房子
- 058 建造者模式(4)-StringBuilder源码
- 059 建造者模式(5)-内容梳理
- 060 适配器模式-工作原理
- 061 类适配器-电压问题
- 062 对象适配器-电压问题
- 063 接口适配器-电压问题
- 064 适配器模式-Dispatcher源码
- 065 适配器模式-内容梳理
- 066 桥接模式(1)-手机问题
- 067 桥接模式(2)-原理类图
- 068 桥接模式(3)-手机问题
- 069 桥接模式(4)-JDBC源码
- 070 桥接模式(5)-内容梳理
- 071 装饰者模式(1)-星巴克咖啡
- 072 装饰者模式(2)-星巴克咖啡
- 073 装饰者模式(3)-工作原理
- 074 装饰者模式(4)-星巴克咖啡
- 075 装饰者模式(5)-IO源码
- 076 装饰者模式(6)-内容梳理
- 077 组合模式(1)-院校展示
- 078 组合模式(2)-院校展示
- 079 组合模式(3)-HashMap源码
- 080 组合模式(4)-内容梳理
- 081 外观模式(1)-影院管理
- 082 外观模式(2)-工作原理
- 083 外观模式(3)-影院管理
- 084 外观模式(4)-MyBatis源码
- 085 外观模式(5)-注意事项
- 086 享元模式(1)-网站外包
- 087 享元模式(2)-工作原理
- 088 享元模式(3)-网站外包
- 089 享元模式(4)-Integer源码
- 090 享元模式(5)-内容梳理
- 091 代理模式(1)-基本介绍
- 092 代理模式(2)-静态代理
- 093 代理模式(3)-动态代理
- 094 代理模式(4)-Cglib代理
- 095 代理模式(5)-几种变体
- 096 模板模式(1)-工作原理
- 097 模板模式(2)-豆浆制作
- 098 模板模式(3)-钩子方法
- 099 模板模式(4)-IOC源码
- 100 模板模式(5)-细节说明
- 101 命令模式(1)-工作原理
- 102 命令模式(2)-遥控器
- 103 命令模式(3)-遥控器
- 104 命令模式(4)-JdbcTml源码
- 105 命令模式(5)-内容梳理
- 106 访问者模式(1)-歌手评分
- 107 访问者模式(2)-原理类图
- 108 访问者模式(3)-歌手评分
- 109 访问者模式(4)-双分派
- 110 访问者模式(5)-使用细节
- 111 迭代器模式(1)-统一遍历问题
- 112 迭代器模式(2)-原理类图
- 113 迭代器模式(3)-统一遍历问题
- 114 迭代器模式(4)-统一遍历问题
- 115 迭代器模式(5)-JDK源码
- 116 迭代器模式(6)-使用细节
- 117 观察者模式(1)-天气预报
- 118 观察者模式(2)-天气预报
- 119 观察者模式(3)-工作原理
- 120 观察者模式(4)-天气预报
- 121 观察者模式(5)-Observable源码
- 122 观察者模式(6)-内容梳理
- 123 中介者模式(1)-智能家庭
- 124 中介者模式(2)-工作原理
- 125 中介者模式(3)-智能家庭
- 126 中介者模式(4)-内容梳理
- 127 备忘录模式(1)-游戏角色
- 128 备忘录模式(2)-工作原理
- 129 备忘录模式(3)-游戏角色
- 130 备忘录模式(4)-注意事项
- 131 解释器模式(1)-计算式求值
- 132 解释器模式(2)-原理类图
- 133 解释器模式(3)-计算式求值
- 134 解释器模式(4)-SpelExp源码
- 135 解释器模式(5)-总结
- 136 状态模式(1)-工作原理图
- 137 状态模式(2)-抽奖活动
- 138 状态模式(3)-借贷平台源码
- 139 状态模式(4)-注意事项
- 140 策略模式(1)-鸭子问题
- 141 策略模式(2)-工作原理
- 142 策略模式(3)-鸭子问题
- 143 策略模式(4)-Arrays源码
- 144 策略模式(5)-内容梳理
- 145 职责链模式(1)-采购审批
- 146 职责链模式(2)-工作原理
- 147 职责链模式(3)-采购审批
- 148 职责链模式(4)-SpringMVC源码
- 149 职责链模式(5)-内容梳理
001 设计模式面试题(1)
原型设计模式问题:
1)有请使用UML类图画出原型模式核心角色;
2)原型设计模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种方式的源码(重写clone方法实现深拷贝、使用序列化来实现深拷贝)
3)在Spring框架中哪里使用到原型模式,并对源码进行分析
beans.xml
<bean id="id01" class="com.atguigu.spring.bean.Monster" scope=" prototype"/>
- Spring中原型bean的创建,就是原型模式的应用
- 代码分析+Debug源码
设计模式的七大原则:
- 七大设计原则的核心思想
2)能够以类图的说明设计原则
3)在项目实际开发中,你在哪里使用到了ocp原则
- 1、单一职责原则
- 2、接口隔离原则
- 3、依赖倒置原则
- 4、 里氏替换原则
- 5、 开闭原则 ocp原则
- 6、迪米特法则
- 7、合成复用原则
002 设计模式面试题(2)
项目
解释器设计模式
单例设计模式
003 何时会用到设计模式
-
设计模式:是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案;
-
设计模式在软件中哪里?
-
面向对象(OO) =>
-
功能模块[ 设计模式 + 算法(数据结构)] =>
-
框架【使用到多种设计模式】 =>
-
架构【服务器集群】
注解+反射+设计模式 = 框架