java设计模式--代理设计模式

代理模式

  • 特点:两个子类共同实现一个接口,其中一个子类负责真实业务实现,另外一个子类完成辅助真实业务主题的操作

举例:

玩游戏--接口                               买口红--接口

真实主题类:你                         真是主题:你

代理类:代练                             代理类:代购

//抽象主题类
interface Ilipstick{
    void buyLipstick();
}
//真实主题类
class RealSubject implements Ilipstick{
    public void buyLipstick(){
        System.out.println("我要买一支口红!");
    }
}
//代理类
class Proxy implements Ilipstick{、
    //代理所要实现的哪个类
    private RealSubject subject=null;
    //通过构造函数传递代理者
    public Proxy(RealSubject subject){
        this.subject=subject;
    }
    public void before(){    
        System.out.println("取钱,排队!");
    }
    //实现接口中定义的方法
    public void buyLipstick(){
        this.before();
        subject.buyLipstick();
        this.after();
    }
    public void after(){
        System.out.println("邮递,结束!");
    }
}
public class Test{
    public static void main(String[] args){
        Ilipstick MyProxy=new Proxy(new RealSubject());
        //MyProxy.before();
        MyProxy.buyLipstick();
        //MyProxy.after();
    }
}
  • 代理模式的本质:所有的真实业务操作都会有一个与之辅助的工具类(功能类)共同完成

猜你喜欢

转载自blog.csdn.net/ds19980228/article/details/83448732
今日推荐