Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 961 Bytes

代理模式.md

File metadata and controls

20 lines (13 loc) · 961 Bytes

代理模式

为其他对象提供一种代理以控制对这个对象的访问

##使用场景 当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。

UML类图

简单实现

以小民诉讼的流程举例。那么需要代理律师代理,诉讼简单流程:提交申请–>进行举证–>开始辩护–>诉讼完成

源码中的代理模式实现

ActivityManagerProxy代理类: ActivityManager是Android中管理和维护Activity的相关信息的类,为了隔离它与ActivityManagerService,有效降低二者的耦合,在这中间使用了ActivityManagerProxy代理类,所有对ActivityManagerService的访问都转换成对代理类的访问,这样ActivityManager就与ActivityManagerService解耦了.

实战

不同版本的API发送通知

优缺点