轻松学,Java 中的代理模式及动态代理

Posted frank909

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻松学,Java 中的代理模式及动态代理相关的知识,希望对你有一定的参考价值。

前几天我写了《秒懂,Java 注解 (Annotation)你可以这样学》,因为注解其实算反射技术中的一部分,然后我想了一下,反射技术中还有个常见的概念就是动态代理,于是索性再写一篇关于动态代理的博文好了。

我们先来分析代理这个词。

代理

代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。

她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。

按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是厂家委托给代理商进行销售,顾客跟代理商打交道,而不直接与产品实际生产者进行关联。

所以,代理就有一种中间人的味道。

接下来,我们说说软件中的代理模式。

代理模式

代理模式是面向对象编程中比较常见的设计模式。

这是常见代理模式常见的 UML 示意图。

需要注意的有下面几点:

  1. 用户只关心接口功能,而不在乎谁提供了功能。上图中接口是 Subject。

以上是关于轻松学,Java 中的代理模式及动态代理的主要内容,如果未能解决你的问题,请参考以下文章

设计模式 - 动态代理原理及模仿JDK Proxy 写一个属于自己的动态代理

JAVA静态代理和动态代理理解

java开发必学知识:动态代理

Java学习之动态代理

谈谈Java的代理模式及动态代理

java学习之动态代理模式