Skip to content

Latest commit

 

History

History

proxy

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

代理

代理的优点

静态代理

继承实现

缺点:

  • 继承关系决定了代理顺序,代理顺序改变,需要新增继承类。

组合实现

优点:

  • 组合关系决定了代理顺序,类可以任意组合,不会新增类

虽然静态代理侵入性很小,但是增强的代码无法复用。比如接口再加一个 stop 方法,需要复制耗时记录的代码

动态代理

需要一个代理类,可以给所有的类做代理。

优点:

  • 代理模式能将代理对象与真实被调用的目标对象分离
  • 一定程度上降低了系统的耦合度,扩展性好
  • 增强目标对象

缺点:

  • 代理模式会造成系统设计中类的数目增加
  • 在客户端和目标对象增加一个代理对象,会造成请求处理速度变慢
  • 增加系统的复杂度