代理模式

来源:互联网 发布:eclipse怎么编写java 编辑:程序博客网 时间:2024/06/12 07:57

代理模式:
为其他对象提供一种代理以控制对这个对象的访问。通俗的说,就是通过一个代理中介,来完成对象的行为。

代理模式组成:
1、抽象类:真实角色和代理角色的共同接口。

2、真实类:代理角色所代表的真实角色。代理角色中的行为最终由真实角色实现。

3、代理类:保存一个真实类的引用是的代理可以访问真实类,并提供一个与抽象类接口相同的接口,这样代理就可以替代真实类。

代码实例:
以追求女生为例,男一号追求一女生,通过代理人路人甲向女生送礼物。男一号为真实类,路人甲为代理,女生之和路人甲见面,并没有直接和男一号打交道,但是男一号将礼物通过路人甲送给女生。

uml图:

这里写图片描述

// 抽象类public interface IGiveGift {    public void GiveFlowers();    public void GiveChocolate();}// 真实类public class Pursuit implements IGiveGift{    @Override    public void GiveFlowers() {        // TODO Auto-generated method stub        System.out.println("给女神送花。");    }    @Override    public void GiveChocolate() {        // TODO Auto-generated method stub        System.out.println("给女神送巧克力。");    }}// 代理类public class Proxy implements IGiveGift {    Pursuit pursuit;    public Proxy(){        if(pursuit == null){            pursuit = new Pursuit();        }    }    @Override    public void GiveFlowers() {        // TODO Auto-generated method stub        pursuit.GiveFlowers();    }    @Override    public void GiveChocolate() {        // TODO Auto-generated method stub        pursuit.GiveChocolate();    }}

分析:
代理模式使用场合一般有一下几种:
1、远程代理,就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。

2、虚拟代理,即时根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。

3、安全代理,用来控制真实对象访问的权限。

4、智能指引,是指调用真实的对象时,代理处理另外一些事。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 人离职了公司扣发工资怎么办? 美国给我们断网怎么办 sci发表后发现错误怎么办 pos机按键是英文怎么办 蔚县县医院慢病本怎么办 知网下载的论文乱码怎么办 被期刊网骗了怎么办? 缝针缝到神经上怎么办 单位有个事特别多的领导怎么办 网上申请公司核名核不下来怎么办 老公把小三晒朋友圈老婆该怎么办 小三怀孕不愿意打掉怎么办 小三怀孕了引产怎么办 小三发现小四小三发现小四后怎么办 七十岁老人肺癌还有小三样怎么办 留学出国学历公认证怎么办 学历认证报告弄丢了怎么办 想读大专没考上怎么办 学信网身份证被注册了怎么办 学信网手机号换了密保忘了怎么办 学信网手机号改了密保忘了怎么办 学信网手机号忘了密保也忘了怎么办 学信网账号被注销了怎么办 原味奶酪太难吃怎么办 cma年费太贵了怎么办 会计证3年没年检怎么办 幼师面试没有什么特长怎么办 电子学历注册表过期了怎么办 学信网查不到电子注册登记表怎么办 学历证书电子注册备案表过期怎么办 举报人对处理结果不满意怎么办 亚马逊账号申诉后余额怎么办 怎么办北京市工会会员互助服务卡 国家发改委录用公示后怎么办 慕课的账号忘了怎么办 清华同方无线鼠标没反应怎么办 全日制专硕考上公务员了怎么办 超出了期刊编辑部审稿时间怎么办 教师晋职称毕业证丢了怎么办 下属部门一直不交材料怎么办 简书投稿被拒绝怎么办