JAVA设计模式——(七)代理模式

JAVA设计模式------(七)代理模式

介绍

代理模式和装饰模式还是挺像的。装饰模式是抽象类对装饰对象的实现,在继承装饰对象。代理模式则是直接对代理对象的实现。

理解

代理模式可以看成用一个类代表另一个类,使用代理类时,便会执行被代理对象的功能。

代理模式更多用于前后置条件运用等等,如权限控制、日志记录等。

实现

抽象主题角色

代理类和具体主题角色实现的接口类

java 复制代码
package cn.sh.designepattern;

/**
 * @Author song
 * @Version 0.0.1
 * @Date 2025/4/25 10:11
 * @Contact 643947568@qq.com
 */
public interface Subject {

    public void operate();

}

具体主题角色

java 复制代码
package cn.sh.designepattern;

/**
 * @Author song
 * @Version 0.0.1
 * @Date 2025/4/25 10:11
 * @Contact 643947568@qq.com
 */
public class RealSubject implements Subject{
    @Override
    public void operate() {
        System.out.println("执行具体操作");
    }
}

代理类

java 复制代码
package cn.sh.designepattern;

/**
 * @Author song
 * @Version 0.0.1
 * @Date 2025/4/25 10:10
 * @Contact 643947568@qq.com
 */
public class Proxy implements Subject{

    private Subject subject;

    public Proxy(Subject subject) {
        this.subject = subject;
    }

    @Override
    public void operate() {
        System.out.println("前置操作");
        subject.operate();
        System.out.println("后置操作");
    }

}

测试

java 复制代码
package cn.sh.designepattern;

/**
 * @Author song
 * @Version 0.0.1
 * @Date 2025/4/24 16:33
 * @Contact 643947568@qq.com
 */

public class Main {
    public static void main(String[] args) {
        Proxy proxy = new Proxy(new RealSubject());
        proxy.operate();
    }
}

应用

权限控制

日志记录

远程访问

缓存代理:缓存对象结果,使得客户端可以共享这些结果。

同步代理:使得几个对象可以同时使用一个对象而不发生冲突。

...

相关推荐
失散134 小时前
分布式专题——26 BIO、NIO编程与直接内存、零拷贝深入辨析
java·分布式·rpc·架构·nio·零拷贝
-雷阵雨-5 小时前
数据结构——栈和队列(模拟实现)
java·开发语言·数据结构·intellij-idea
祈祷苍天赐我java之术5 小时前
Redis 热点数据与冷数据解析
java·redis·mybatis
大飞pkz5 小时前
【设计模式】访问者模式
开发语言·设计模式·c#·访问者模式
9号达人5 小时前
Java20 新特性详解与实践
java·后端·面试
sniper_fandc6 小时前
关于Mybatis-Plus的insertOrUpdate()方法使用时的问题与解决—数值精度转化问题
java·前端·数据库·mybatisplus·主键id
天若有情6736 小时前
Spring配置文件XML验证错误全面解决指南:从cvc-elt.1.a到找不到‘beans‘元素声明
xml·java·spring
熊小猿7 小时前
ArrayList 与 LinkedList 的区别
java·面试
青草地溪水旁7 小时前
设计模式(C++)详解——策略模式(2)
c++·设计模式·策略模式
笨手笨脚の7 小时前
设计模式-装饰器模式
java·设计模式·装饰器模式·结构型设计模式