欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
关于Java中的代理,首先需要了解的是一种常见的设计模式——代理模式,而对于代理,可根据代理类创建的时间点,分为静态代理和动态代理。今天先来了解一下Java中的静态代理。
1 代理模式定义
代理模式是一种常用的设计模式,百度百科中对其定义为:为其他对象提供一个代理以控制对某个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。即代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理类与委托类通常会存在关联关系,通常需要实现同一个接口。一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。

图1-1 代理模式结构图(图片来自《大话设计模式》)
本文介绍了Java中的代理模式,特别是静态代理。代理模式提供了一种在不修改源码基础上增加额外功能的方式,降低了系统耦合度。文中通过学生提交作业的例子,展示了静态代理的实现,包括定义Person接口、Student类和StudentProxy代理类。代理模式允许在调用真实对象方法前进行预处理和后续处理,例如在提交作业后给出作业评价。
订阅专栏 解锁全文
957

被折叠的 条评论
为什么被折叠?



