zoukankan      html  css  js  c++  java
  • 跟着Android学设计模式:代理(proxy)

    代理模式

    1.意图:为其它对象提供一种代理以控制对这个对象的訪问。

    2.适用性:

    远程代理;虚代理。保护代理;智能引用;

    Android源代码中用到了大量的代理设计模式。比方Context的设计,Binder的设计等。

    以下是Context的类图。以此说明代理设计模式的特点:

    代理设计模式的要点是。代理者实现了被代理的所有接口,所以他们应该有共同的功能接口。

    在本例中。ContextWarpper是一个包装类。它继承了context类。实现了其抽象函数。

    可是它把详细的实现动作托付给了其成员变量mBase所引用的Context来运行。而mBase的真实对象实际上是ContextIml。

    Activity,Service。Application都是ContextWarpper的子类。在实际编程中大量的操作都要借助Context来完毕,比方要通过Uri操作数据库,再比方要发送Intent。

    在分析源代码的时候,知道了Context的代理模式,能高速准确的定位代码运行的路径。


  • 相关阅读:
    《TD项目开发小结》
    感悟
    毕业两年了
    ip+port无法访问nginx问题
    问题解决之道
    调休9天的那些日子
    关于类加载器(ClassLoader)
    ios核心蓝牙之心率监控(swift)
    git(git-flow)的高效管理使用
    WKWebview加载本地图片时出现路径问题
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5330184.html
Copyright © 2011-2022 走看看