概念:为其它对象提供一种代理以控制对这个对象的访问。代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。
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("代购之后客户满意度调查"); } }