代理模式-初识

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

代码示例:
接口
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();
    }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值