Java设计模式--代理模式

代理模式属于结构型模式。一个类代表另一个类的功能,主要是为了解决直接访问某些类可能造成的问题,使用第三方的类来实现一些功能,需要注意的是,为了实现对客户端透明,代理类和被代理类要实现同样的接口,简单实现:

抽象接口

public interface Product {
    void fun();
}

实现类

public class RealProduct implements Product{
    @Override
    public void fun() {
        System.out.println("form realProduct");
    }
}

代理类:

public class ProxyProduct implements Product{
    private Product product;

    public ProxyProduct(Product product){
        this.product = product;
    }

    @Override
    public void fun() {
        product.fun();
    }
}

测试类

public class test {

    public static void main(String[] args) {
        ProxyProduct proxyProduct = new ProxyProduct(new RealProduct());
        proxyProduct.fun();
    }

}

你可能感兴趣的:(Java设计模式--代理模式)