美文网首页
外观设计模式

外观设计模式

作者: 刘尔泽 | 来源:发表于2017-10-15 15:54 被阅读9次

    概念

    外观模式的主要目的在于让外部减少与子系统内部多个模块的交互,从而让外部能够更简单地使用子系统,它负责把客户端的请求转发给子系统内部的各个模块 进行处理。

    他只是实现功能的组合调用,只是各个模块的功能的一个组合而已,而不是像 装饰模式。

    使用场景

    1.当你要为一个复杂系统提供一个简单的接口时
    2.客户程序与抽象类的实现部分之间存在着很大的依赖性
    3.当你需要构建一个层次结构的子系统时。

    其实就是拦截了一层,客户端掉用方 是不需要改的。

    为了让整个系统只有一个外观类,用了单例

    在android中的应用

    contextImpl
    AcitivityThread.java 的 main()

    开启一个 looper,
    然后就找handlerMessage
    找到 handlerLaunchActivity()

    然后performLaunchActivity()
    里面的
    activity.attch( appContext ,等等)

    所以Acivity 的父类也是context ,并不实现具体的功能,他只是继承context 接口,他具体的操作会交给 contextImpl 这个类去做,因为他用到的是 contextImpl 的外观设计模式。

    然后看act 中的attah()
    里面的 attachBaseContext
    再往下看的到, 这个context 被传给了 Context mBase;

    所以 activity 的内部就持有了 context的引用。
    所以 activity 充当的 是代理类,他代理了 contextImpl 去做的事情。

    相关文章

      网友评论

          本文标题:外观设计模式

          本文链接:https://www.haomeiwen.com/subject/wzkfuxtx.html