设计模式-代理模式

2018-06-18  本文已影响8人  老汉健身

1.代理模式的分类:

代理模式分为:

虚拟代理:比如网页加载后可以先用一张事先准备好的图片代替要加载的图片,使网页内容先加载出来,等图片加载完成后再用该图片代替事先准备好的图片.

智能代理:比如火车站售票的代理

远程代理:比如通过网络监控远程的好几家便利店

保护代理:比如用户登录后才具有某些权限 未登录只能浏览 对资源是一种保护

2.代理的两种实现模式

动态代理:

静态代理:

3.实现代理的两种方式

继承和聚合两种方式都能实现代理,但聚合更适合

4.JDK动态代理

实现步骤:

1.编写一个实现类,实现InvocationHandler,然后把需要代理的业务逻辑添加到invoke方法中.

public  object invoke (Object object ,Method method,Object[] args).其中object为代理类,method为被代理的方法,args是指该方法的参数数组.

2.创建动态代理:Proxy.newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)

5.总结:代理模式实际上是一种aop操作,虽然我们不能直接修改JDK源码,但我们可以通过代理模式把JDK的源码提供的方法通过代理模式增强,添加业务逻辑,使之满足业务需要.

上一篇下一篇

猜你喜欢

热点阅读