Spring06:静态/动态代理模式

代理模式

AOP的底层机制就是动态代理

代理模式:

  • 静态代理
  • 动态代理

Spring06:静态/动态代理模式_第1张图片

静态代理

  • 抽象角色:一般使用接口或抽象类来实现
  • 真实角色:被代理的角色
  • 代理角色:代理真实角色;代理后,一般会做一些附属操作
  • 客户:使用代理角色来进行一些操作

举例

  • 租房-一件事
  • 房东
  • 中介-还会做一些其它操作,房东不需知道
  • 客户

静态代理的好处:

  • 可以使得我们的真实角色更加纯粹,不再去关注一些公共的事情
  • 公共的业务由代理来完成,实现了业务分工
  • 公共业务发生扩展时变得更加集中和方便

我们在不改变原来的代码的情况下,实现了对原有功能的增强,这是AOP中最核心的思想

理解:我们使用代理类,并不需要实现接口实现类的方法,我们只需要保存它的一个引用,就可以使用它,(本质也还是调它),这样可以无损的扩展一些业务。

Spring06:静态/动态代理模式_第2张图片

你可能感兴趣的:(ssm)