代理模式

代理模式就是给一个对象创建一个代理对象,由这个代理对象控制原对象的引用,而创建这个代理对象后可以调用原对象时增加一些额外的操作。

1.抽象主题角色(Subject):声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。

2.具体主题角色(RealSubject):也称为委托角色或者被代理角色。定义了代理对象所代表的目标对象。

3.代理主题角色(Proxy):也叫委托类、代理类。代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象;代理对象提供一个与目标对象相同的接口,以便可以在任何时候替代目标对象。代理对象通常在客户端调用传递给目标对象之前或之后,执行某个操作,而不是单纯地将调用传递给目标对象。 

代理模式又分为静态代理动态代理。静态代理是由程序猿创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理是在程序运行时,通过运用反射机制动态的创建而成。例如Spring中的AOP就是动态代理实现的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 访问多条数据## 考虑这样一个实际应用:要一次性访问多条数据。 这个功能的背景是这样的;在...
    七寸知架构阅读 3,041评论 1 52
  • 引言 在古代《三国志·诸葛亮传》中有这么一句话——“政事无巨细咸于亮。”;在唐代张九龄的《谢赐大麦面状》中还有这么...
    CrazyMO_阅读 404评论 0 0
  • 目录 本文的结构如下: 引言 什么是代理模式 模式的结构 典型代码 代理模式分类 代码示例 代理模式和装饰者模式的...
    w1992wishes阅读 1,597评论 0 13
  • 一群被命运捉弄,搏击抗争的人 作为“第四权”和舆论监督阵地,报纸如果一旦失去向国民大众揭露政府谎言、报道真相的权利...
    雪国晴川阅读 462评论 0 4
  • 后来他们总是说起你 说起在我身边时的你 那时还青涩的你 低着头说还我笔记 我后来把我的手交到你手里 装模作样地说我...
    云谷犀阅读 202评论 0 0