编程自学指南:java程序设计开发,设计思想开源框架-结构型模式之代理模式,静态代理、动态代理

java程序设计开发,设计思想开源框架-结构型模式之代理模式,静态代理、动态代理

代理模式概述

定义

代理模式是一种结构型设计模式,它允许通过代理对象来控制对另一个对象(目标对象)的访问。代理对象充当目标对象的接口,客户端与代理对象交互,而不是直接与目标对象交互。代理模式的核心思想是在不改变目标对象的前提下,为其提供额外的功能或控制访问。

作用
  • 增强功能:在目标对象的基础上添加额外的功能,如日志记录、权限验证等。
  • 控制访问:对目标对象的访问进行控制,例如限制访问时间、访问次数等。
  • 延迟加载:在需要使用目标对象时才进行创建和初始化,提高系统性能。

代理模式的类型

静态代理

静态代理是指在编译时就已经确定代理类和目标类的关系,代理类和目标类都需要实现相同的接口。

动态代理

动态代理是指在运行时动态生成代理类,无需手动编写代理类的代码。Java 提供了两种动态代理方式:JDK 动态代理和 CGLIB 动态代理。

实际应用案例

静态代理案例
// 定义一个接口
interface Image {
    void display();
}

// 真实主题类
class RealImage implements Image {
    private String fileName;

    public RealImage(String fileName) {
        this.fileName = fileName;
        loadFromDisk(fileName);
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zl515035644

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值