溫馨提示×

代理模式在Java中如何實現

小樊
102
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女