Java面向对象_静态代理模式

概念:为其它对象提供一种代理以控制对这个对象的访问。代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。

public class Practice14 {
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    SuperMan man=new SuperMan();
    Proxy proxy=new Proxy(man);
    proxy.shopping();
}
}
interface Subject{//主题
    public void shopping();
}
//被代理人
class SuperMan implements Subject{
    private String name;
    public void shopping(){
        //在买之前做大量的评估工作
        //
        System.out.println("在网络上购买进口化妆品");
    }
}
//代理人
class Proxy implements Subject{
    private SuperMan target;//被代理人
    public Proxy(SuperMan target){
        this.target=target;
    }
    //实现接口的方法
    public void shopping(){
        //代购之前要做的事
        System.out.println("做大量的商品专业评估");
        target.shopping();//被代理人真正的业务,这可以加一个判断。当满足条件时就让他执行这个方法,也就是概念中控制这个对象的访问
        //代购之后要做的事
        System.out.println("代购之后客户满意度调查");
    }
}
原文地址:https://www.cnblogs.com/shenhainixin/p/5072073.html