android设计模式之代理模式

1.什么是代理模式?

详细的解释:为其他对象提供代理以控制对这个对象的访问,代理对象起到了中介作用,不涉及功能服务,亦可增加额外的服务;

代理模式的分类:

远程代理:为不同的地理对象提供局域网代表对象。典型的设计有:C/S架构属于远程代理的缩影

虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候再创建。典型设计:经常我们看到很多APP在加载图片的时候,会先加载一个默认的图片,等真正的图片加载完了之后再显示出来,这样非常的友好。

智能引用代理:提供对目标对象的额外的服务。典型设计:现实场景中随处可见,我们的火车、汽车票代售处、代购等等都是属于代理模式的范畴。

保护代理:控制用户的访问权限。典型设计:就像我们的公众号的文章留言功能,只有你这个用户关注了该公众号之后才能留言,否则你就只能浏览不能留言。

代理模式的实现:

代理的实现方式主要有两种:静态代理 动态代理

静态代理:代理和被代理对象在代理之前都是被确定的,他们都实现相同的接口或者是继承相同的抽象类

动态代理:

动态创建代理类(虚拟机->框架、系统帮助我们来完成创建过程)

1.代理对象不需要实现接口。

2.不需要自己实现代理对象,由虚拟机动态生成(内部通过java反射实现)。

3.动态代理也叫做JDK代理或接口代理。

深入理解代理模式请参考:https://segmentfault.com/a/1190000019433930?utm_source=tag-newest

你可能感兴趣的:(android设计模式之代理模式)