美文网首页设计模式
android源码中使用的设计模式(结构型模式--桥接模式,外观

android源码中使用的设计模式(结构型模式--桥接模式,外观

作者: 田间小鹿 | 来源:发表于2017-12-22 17:23 被阅读0次

首先我们需要了什么的结构型模式,其实结构型模式就是涉及到类或者对象之间的组合关系。

1.桥接模式

主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活

1.1定义

将抽象部分和实现部分分离,使它们都可以独立第进行变化

1.2 UML

桥连模式
  • Abstraction:抽象部分,需要保存一个实现部分的引用
  • RefinedAbstraction:优化的抽象部分,抽象部分的具体实现,方法的完善和扩展。
  • Implementor:实现部分,可以是接口也可以是抽象类
  • ConcteteImplementor:具体的实现部分

1.3 使用场景

一个类存在两个维度,而且每个维度都可以扩展。
比如不同的厂商生产的电脑和显示器的尺寸就是两个维度。

1.4代码实现

A.实现部分

实现部分

B.抽象部分

抽象部分

C.调用部分

调用

如果需要扩展,如果是实现部分扩展只要在实现部分扩展一个具体的实现类。在调用的时候出入到抽象部分就可以了。

1.4 android源码中的实现

wms

2.外观模式

2.1定义

要求一个子系统的外部与其内部的通讯必须通过一个统一的对象进行。外观模式提供一个高层次的接口,使得子系统更易于使用。

2.2 UML

外观模式
Facade:系统对外的统一接口,系统内部系统地工作
SystemA:子系统接口

2.3 使用场景

  • 为一个复杂子系统提供一个简单接口
  • 当你需要构建以个层次结构的子系统时,使用Facade模式定义子系统中每层的入口点

当我们在开发SDK的时候经常用到这种模式。

2.4 代码实现

A 子系统

子系统

B.统一对外接口

统一对外接口

2.5 android源码中实现

context

ContextWrapper以供用户访问,该类只能是一个对外的封装类,其内部是调用ContextImpl对象实现的。这就和外观模式UML是一致的。

2.6优缺点

优点

  • 1.对客户隐藏了子系统的细节
  • 2.外观类对子系统的接口封装,系统更容易使用

缺点

  • 1.外观类接口膨胀
  • 2.外观类没有遵循开闭原则,当业务出现更改时,可能需要更改外观类。

相关文章

  • Android 桥接模式

    Android 23种设计模式 一、前言 Android桥接(Bridge)模式,又被称为桥梁模式。结构型模式之一...

  • java23种设计模式

    创建型 抽象工厂模式工厂方法建造者模式原型模式单态模式 结构型 适配器模式桥接模式组合模式外观模式装饰者模式享元模...

  • Android常用设计模式

    设计模式分类 创建型模式工厂方式模式建造者模式抽象工程模式原型模式单例模式 结构型模式桥接模式代理模式享元模式外观...

  • 09.桥接模式(结构型)

    桥接模式(结构型) 一、桥接模式概述 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的...

  • android源码中使用的设计模式(结构型模式--桥接模式,外观

    首先我们需要了什么的结构型模式,其实结构型模式就是涉及到类或者对象之间的组合关系。 1.桥接模式 主要解决:在有多...

  • 设计模式-桥接模式

    桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是结构型设计模式之一。顾名思义其与现实中的桥...

  • 设计模式整理(5) 工厂模式

    学习《Android 源码设计模式解析与实践》系列笔记 介绍 工厂模式属于创建型设计模式之一,是一种结构简单的设计...

  • 前篇

    一、常见的设计模式? 创建型:工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式 结构型:适配器模式、桥接...

  • Android设计模式源码解析之外观模式(Facade)

    Android设计模式源码解析之外观模式(Facade) 【备注】只用于个人收藏

  • 【设计模式】结构型设计模式汇总

    结构型设计模式汇总 结构型设计模式名称 结构型设计模式主要包括 7 大类: 代理模式 桥接模式 装饰器模式 适配器...

网友评论

    本文标题:android源码中使用的设计模式(结构型模式--桥接模式,外观

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