结构型模式之代理模式

2018-04-27  本文已影响9人  0爱上1

定义:

    代理模式意味着代替,代表。是最简单的模式之一,也是结构型设计模式中典型的示例,类比现实生活中的前台,可以代理公司很多事物。比如。你去某公司找某个技术人员谈事情,首先会经由前台接待你,前台此处就是这个技术人员的代理。

应用场景:

    可以应用在希望在被代理对象前后做一些其他处理,或者控制对被代理对象的访问权限等。可以结合AOP理解应用场景。

UML类图:

1

代码实现:

    抽象角色:(被代理角色的抽象类或者接口)

2

真是角色:(真是的被代理类)

3

代理角色:(真实的代理类)

4

测试类:

5

结果:

6

分析:

    以上代理为

    静态代理:

        代理类由程序员编写,并在程序运行前就已经编译好的。如上的ReceptionProxy---前台小妹

    动态代理: 

        代理类由程序动态生成,而实现的关键就是反射技术。

        最终生成的代理类的class类定义类似:

class$A extend Proxy implements SubjectInterface (基于jdk 动态代理)

代理模式的优势:

    1:在不修改被代理对象的情况下,对被代理对象的功能做扩展

    2:提供了对目标对象的另外的访问方式----通过代理的方式

上一篇 下一篇

猜你喜欢

热点阅读