温馨提示×

代理模式在Java中如何实现

小樊
81
2024-08-18 21:55:38
栏目: 编程语言

在Java中,代理模式可以通过创建一个代理类来实现。代理类与被代理类实现相同的接口,并持有一个对被代理类的引用。通过代理类的方法调用,可以在调用之前或之后添加额外的逻辑或功能。

下面是一个简单的例子来说明代理模式在Java中的实现:

// 定义一个接口
interface Subject {
    void doSomething();
}

// 创建被代理类
class RealSubject implements Subject {
    @Override
    public void doSomething() {
        System.out.println("RealSubject is doing something.");
    }
}

// 创建代理类
class Proxy implements Subject {
    private RealSubject realSubject;

    public Proxy() {
        this.realSubject = new RealSubject();
    }

    @Override
    public void doSomething() {
        System.out.println("Before doing something.");
        realSubject.doSomething();
        System.out.println("After doing something.");
    }
}

// 使用代理类
public class ProxyPatternDemo {
    public static void main(String[] args) {
        Proxy proxy = new Proxy();
        proxy.doSomething();
    }
}

在上面的例子中,RealSubject是被代理类,Proxy是代理类。代理类实现了Subject接口,并持有RealSubject的引用。在代理类的doSomething方法中,可以在调用RealSubjectdoSomething方法之前或之后添加额外的逻辑。

通过使用代理模式,可以实现对被代理类的访问控制、延迟加载、缓存等功能。

0