代理模式

2016-04-27  本文已影响31人  shuixingge

概念: 当无法直接访问某个对象,或者访问某个对象存在困难的时候可以通过一个代理对象来间接的访问,所访问的代理对象和真实对象需要实现相同的接口,由代理对象控制原对象的访问。

Paste_Image.png
角色:
**抽象主题角色: Subject ** 代理类和真实类的共同接口,这样在任何使用真实主题的地方都可以使用代理主题来代替。
代理主题角色: ProxySubject 它包含对一个真实主题的引用,从而可以在任何时候都可以来操作真实主题对象。
真实主题角色: RealSubject 它是代理类所代表的真实的对象,在真实的主题角色中实现了真实的业务操作。

分类:
远程代理:为位于不同地址空间的对象的本地对象提供一个本地代理。
虚拟代理:如果需要创建一个资源消耗较大的对象,可以先创建一个消耗相对较小的对象来表示,真正的对象只有在使用的时候才被创建。
Android中的应用:
远程代理,因为ActivityManagerProxy与ActivityManagerService不再同一个地址空间。

Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读