状态模式

状态模式定义

允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

类图

和策略模式很像,但是状态模式允许在 context 中完成状态的切换(也就是可以在context 执行状态的逻辑功能)
image.png

状态模式要点

  • 状态模式一个状态就是一个类

代理模式

代理模式定义

为另一个对象提供了一个替身来控制对这个对象的访问

代理模式类图

  • Subject 接口,提供可调用的方法,让代理类和真正干活的类都实现它
  • RealSubject 类,是真正干活的类
  • Proxy 类,持有 RealSubject 对象的引用,和客户的交互都是在这个类完成的

image.png

动态代理模式概念

目标对象:一个普通的Java对象
代理对象:基于目标对象,替目标对象干活的对象
增强器类:需要对目标对象增强功能
代理对象工厂:用来生产代理对象的