您当前的位置: 首页 >  Java

止步前行

暂无认证

  • 0浏览

    0关注

    247博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java设计模式——代理模式【Proxy Pattern】 (静态代理)

止步前行 发布时间:2018-05-22 21:39:15 ,浏览量:0

一、引言

在《Java编程思想》的第七章第三小节,介绍了代理的概念。书中这样描述:因为我们将一个成员对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴露了该成员对象的所有方法(就像继承)。书中的描述有点拗口,用通俗的话翻译一下就是:将一个类的对象放在另一个新类中(这是组合),并且在新类中暴露该对象的所有方法。

二、代码

《Java编程思想》中的例子如下: 这里写图片描述 这里写图片描述

总结一下就是两点: (1)代理类中要有被代理类的对象 (2)代理类中要有被代理类中的所有方法,在方法调用时,调用的是被代理类的对象

三、优化

对于上述例子,可以做一点优化,对于第二点,代理类中要有被代理类中的所有方法,可以把这地方的所有方法抽象到接口中,这样就更加简洁明了,也便于复用。

下面举个西门庆和潘金莲的例子,这个例子再适合不过了,代理类非王婆莫属。 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

四、总结

总结一下,代理模式主要使用了Java 的多态,干活的是被代理类,代理类主要是接活,你让我干活,好,我交给幕后的类去干,你满意就成,那怎么知道被代理类能不能干呢?同根就成,大家知根知底,你能做啥,我能做啥都清楚的很,同一个接口(也就是要有被代理类的所有方法)。

关注
打赏
1657848381
查看更多评论
立即登录/注册

微信扫码登录

0.0365s