设计模式_4:代理模式

来源:互联网 发布:用java编写水仙花数 编辑:程序博客网 时间:2024/06/01 19:58

假如今天轮到我做班里的值日,那么代码可以这样写:

public class Main {    public static void main(String[] args) {        Me me = new Me();        me.doDuty();    }}interface DoDuty {    void doDuty();}class Me implements DoDuty{    @Override    public void doDuty(){        System.out.println("做值日");    }}

如果有人可以代我做值日,那么代码可以改成这样:

public class Main {    public static void main(String[] args) {        Helper helper = new Helper(new Me());        helper.doDuty();    }}interface Doduty {    void doDuty();}class Helper implements Doduty {    private Me me;    public Helper(Me me) {        this.me = me;    }    @Override    public void doDuty() {        me.doDuty();    }}class Me implements Doduty {    @Override    public void doDuty() {        System.out.println("做值日");    }}

上面写的就是代理模式,总的来说代理模式是先定义一个RealSubject(Me)和Proxy(Helper)的公共接口Subject(Doduty),Proxy保存一个RealSubject的引用来使得代理可以访问实体



原创粉丝点击