一. 什么是职责链模式?它解决什么问题?该模式有哪些组成部分?
1.1 什么是责任链模式 ?
答:能够处理同一类请求的对象连城一条所提交的请求沿着链条传递,链条上的对象逐个判断是否有能力处理该问题,如果能处理则处理
不能处理则向后传递给下一个对象。
1.2 它解决什么问题?
答:可以解决一些实质性问题,如:员工请假,接力赛跑,各种审批...。
1.3 该模式有哪些组成部分?
答:1.要处理的请求
2.一个抽象的处理者
3.多个具体的处理者形式责任处理顺序
二. 什么是观察者模式?它解决什么问题?它有哪些组成部分?
2.1 什么是观察者模式?
答:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时。所有依赖于它的对象都得到通知 并呗自动更新。
2.2 它解决什么问题?
答:1.微信公众号向很多人同时发送消息
2.天气预报 播放 很多人在收看
3.上课铃声响了,所以学生进入教室听课
2.3 它有哪些组成部分?
答:1.Subject目标 抽象的被观察物
2.ConcreteSubject 具体的目标 具体的观察物
3.Observer:抽象的观察者
4.ConcreteObserver:具体观察者
三. proxy动态代理和cglib动态 代理有什么异同?
1.proxy动态:proxy动态代理是一种面向接口的动态代理,可以实现代理实现类对象去完成接口的要求,也就是说这种动态代理必须有接口
2.cglib动态:cglib动态代理是一种面向父类的动态代理,其实现原理是通过子类继承父类,子类重写父类的方法时可以实现功能增强,所以 在cglib代理模式下有没有接口皆可以实现,只要明确父类即可。
四. 介绍一下Mybatis
答:Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所以的JDBC代码和手动设置参数以及获取结果集,Mybatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOS(Plain Ordinary Java Object,
普通的Java对象)映射成数据库中的记录。
简单来说:Mybatis是一个半自动ORM(对象关系映射)框架,其本质是对JDBC的封装。使用Mybatis重点需要程序员编写SQL命令不需要写一行JDBC代码。