文章目录

东篱南山

采菊东篱下,悠然现南山

面试篇--设计模式

1.设计模式六大原则
1.单一原则
2.里氏代换
3.依赖倒置
4.接口隔离
5.迪米特法则
6.合成复用

常用设计模式
1.单例模式
线程池,连接池
2.工厂模式
3.简单工厂模式
4.抽象工厂模式
5.建造者模式
6.代理模式
静态代理
动态代理
1.通过实现 InvocationHandler 接口创建自己的调用处理器
2.通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动态代理类
3.通过反射机制获得动态代理类的构造函数
4.通过构造方法将自定义的处理类当参数放入。
5.通过构造函数创建动态代理类实例,构造时调用处理器对象作为参数被传入
Cglib
1.通过asm字节码生成框架生成代理类Class的二进制字节码
2.通过Class.forName加载二进制字节码,生成Class对象
3.通过反射机制获取实例构造,并初始化代理类对象
1.动态代理需要实现接口,cglib需要继承
2.动态代理通过类加载和反射来生成代理类,cglib是基于字节码来生成

7.适配器模式
原类和适配器类转换(电脑接口)
8.模板方法模式
JdbcTemplet
9.观察者模式
存在一对多关系(发布订阅)
10.策略模式
针对不同行为提供不同的实现(不同的算法)
11.装饰模式
不改变其结构,给其增加功能(橡皮鸭加飞机引擎)


标题:面试篇--设计模式
作者:zc1249274251
地址:https://www.fanyueba.com/articles/2019/09/26/1569470819589.html