文章目录
1. 设计模式总结
1.1 单例模式与工厂模式
工厂类一般就是被设计为单例
1.2 策略模式与工厂模式
- 工厂模式主要目的是封装好创建逻辑
- 策略模式接收工厂创建好的对象,从而实现不同的行为
1.3 策略模式与委派模式
- 策略模式是委派模式内部的一种实现形式,策略模式关注的是结果是否能相互替代
- 委派模式更关注分发和调度的过程
1.4 模板方法模式与工厂方法模式
工厂方法是模板方法模式的一种特殊实现,只有一个步骤的模板方法模式
1.5 模板方法模式与策略模式
- 模板方法模式与策略模式都有封装算法
- 策略模式是使用不同算法可以相互替换,且不影响客户端应用层的使用
- 模板方法模式是针对定义了一个算法的流程,将一些有细微差异的部分交给子类实现
- 策略模式算法实现是封闭的
- 模板方法模式不能改变算法流程
- 策略模式可以改变算法流程且可替换
- 策略模式通常用于代替if…else等条件分支语句
1.6 装饰器模式与代理模式
- 装饰器模式关注点在于给对象动态扩展,添加方法
- 代理模式更加注重控制对对象的访问
- 代理模式通常会在代理类中创建被代理对象的实例
- 装饰器模式通常会把被装饰着作为构造参数
1.7 装饰器模式与适配器模式
- 装饰器模式与适配器模式同属包装器模式
- 装饰器模式可以实现被装饰者与相同的接口或者继承被装饰者作为它的子类
- 适配器模式和被适配者可以实现不同的接口
2. Spring编程思想总结
Spring思想 | 应用场景(特点) | 一句话归纳 |
---|---|---|
OOP | Object Oriented Programing(面向对象编程),用程序归纳总结生活中的一切事物 | 封装,继承,多态 |
BOP | Bean Oriented Programing(面向Bean编程),面向Bean(普通java类)设计程序 | 一切从Bean开始 |
AOP | Aspect Oriented Programing(面向切面编程)找出多个类中有一定规律的代码,开发时拆开,运行时再合并,面向切面编程即面向规则编程 | |
IOC | Inversion Of Control(控制反转)将new对象的动作交给Spring管理,并由Spring保存已创建的对象(IOC容器) | 转交控制权(即控制权反转) |
DI/DL | Dependency Injection(依赖注入)或者Dependency Lookup(依赖查找),Spring不仅保存自己创建的对象,而且保存对象与对象之间的关系,注入即赋值,只要有三种方式:构造方法,set方法,直接赋值 | 赋值 |
2.1 AOP
2.1.1 AOP应用场景
- Authentication(权限认证)
- Auto Caching(自动缓存处理)
- Error Handing(统一错误处理)
- Debugging(调试信息输出)
- Logging(日志记录)
- Transactions(事务处理)
2.1.2 AOP的几个概念
- Aspect(切面): 通常是一个类,里面可以定义切入点和通知
- JiontPoint(连接点): 程序执行过程中明确的点,一般是方法调用
- Advice(通知): AOP在特定的切入点上执行的增强处理,有before,after,afterRunning,afterThrowing,around
- Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式