代理模式-初识

来源:互联网 发布:新昌驾校知费 编辑:程序博客网 时间:2024/06/06 00:19

代理模式
代理模式并不复杂,从一个形象实例来形容。
比如一个程序员,不能谁谁都来指点我干活,那我还不得累死,所以,我上面有领导,所有的工作通过领导的过滤,再根据我能不能做分到我这边,我来具体实施,所以对外需要找我的领导才行。
意图:为一个其他对象提供一个代理,对这个对象的操作,可以不仅仅是控制访问。
这里写图片描述

代码示例:接口public interface Do {    public void doJob();}程序员类:public class Programmer implements Do {    public String disp;    public Programmer(){    }    public Programmer(String disp){        this.disp=disp;    }    public String getDisp() {        return disp;    }    public void setDisp(String disp) {        this.disp = disp;    }    @Override    public void doJob() {        System.out.println(disp);    }}经理类:public class Manager implements Do {    private String disp;    private Programmer programmer;    public Manager(String disp){        this.disp=disp;        programmer = new Programmer(disp);    }    public String getDisp() {        return disp;    }    public void setDisp(String disp) {        this.disp = disp;    }    @Override    public void doJob() {        if (disp.length()<10) {            programmer.doJob();        }    }}调用:public class ProxyTest {    public static void main(String[] args){        Manager manager = new Manager("Hello wor");        manager.doJob();    }}

这是只是代理模式思想的简单示例,其核心就是把对一个对象的操作交给另一个对象来管理,管理对象的管理方式他不知道,他只知道调用他的时候他干什么。
优点:职责清晰

原创粉丝点击