美文网首页
外观设计模式

外观设计模式

作者: 刘尔泽 | 来源:发表于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 去做的事情。

相关文章

  • 11、结构型模式-外观设计模式

    1、大量使用第三方SDK-它们常用的外观设计模式你知道多少? ** 外观设计模式 Facade Pattern**...

  • 外观设计模式

    概念 外观模式的主要目的在于让外部减少与子系统内部多个模块的交互,从而让外部能够更简单地使用子系统,它负责把客户端...

  • 外观设计模式

    外观模式 主要的目的在于让外部减少与子系统内部多个模块的交互,从而让外部能够更简单得使用子系统,他负责把客服端的请...

  • 设计模式---外观设计模式

    外观模式 标签(空格分隔): 设计模式 在设计模式中有一个法则叫迪米特法则(最少知识原则),它说的是什么呢? 一个...

  • 外观设计模式(Facade)

    Facade 模式概述及作用 作用Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,...

  • 设计模式解析—外观设计模式

    外观模式(Facede Pattern)定义和使用场景 定义定义一个高层次、统一的接口,外部通过这个接口来操作内...

  • Java中的门面设计模式

    门面设计模式又叫外观设计模式,其核心思想正如其字面意思,向用户提供一个门户,用户只需要访问这个门户来获取他们想要的...

  • Java中的门面设计模式及如何用代码实现

    门面设计模式又叫外观设计模式,其核心思想正如其字面意思,向用户提供一个门户,用户只需要访问这个门户来获取他们想要的...

  • 外观设计专利保护的客体

    外观设计的定义 要素的结合 构成外观设计的是产品的外观设计要素的结合,其中包括形状、图案或者其结合以及色彩与形状、...

  • 设计模式-外观模式

    外观设计模式的定义 要求一个子系统的外部与其内部通信必须通过一个统一的对象进行,又称之为门面模式,提供一个高层次的...

网友评论

      本文标题:外观设计模式

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