代理模式

2018-02-17  本文已影响0人  codingBen

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读