代理模式的案例实现

代理模式:

     3个部分构建的:

           *  一个接口,接口中的方法是要去实现的。

           *  目标对象(要被代理的类),实现上面的接口,去实现接口中方法。

           *  代理类,也要实现上面的接口, 并且帮目标对象(要被代理的类)去实现接口的方法.

           代理模式必须要让代理和目标对象都要去实现相同的接口,客户端通过代理类来调用目标对象的方法,代理会将所有的方法调用分 派到目标对象上,话可以加上前置和后置。

代码呈现:

package com.sj.springbootmybatis.controller;

public class TestPoxy {
    public static void main(String[] args) {
        poxy p = new poxy(new my());
        p.buy();
    }
}

interface shopping{  //接口
    void buy();
}

class my implements  shopping{  //目标对象

    @Override
    public void buy() {
        System.out.println("目标对象------我要买个大大的锤子");
    }
}

class poxy implements  shopping{  //单例对象

    private my targer;    //代理对象要知道为谁在代理

    public poxy(my targer){   //有参构造
        this.targer = targer;
    }
    @Override
    public void buy() {
        before();
        this.targer.buy();   //this代表当前代理对象,targer代表目标对象,buy代表目标对象的购买方法
        rear();
    }

    private void before() {
        System.out.println("开始帮客户代买商品");
    }
    private void rear(){
        System.out.println("已经帮客户购买完成");
    }
}

运行结果:

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读