美文网首页
android 设计模式篇 之 适配器模式

android 设计模式篇 之 适配器模式

作者: treasure_ct | 来源:发表于2019-12-17 17:32 被阅读0次
注:转载请注明出处,请珍惜成果  https://blog.csdn.net/treasureqian/article/details/103583635

1.简介

设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper)。将一个的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作,做法是将类自己的接口包裹在一个已存在的类中。

2.分类

适配器模式属于结构型模式。

分为两类,对象适配器模式和类适配器模式。

最简单的比喻就是 android插口转Type C插口,香港电源适配器

1)对象适配器

在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。


2)类适配器模式

这种适配器模式下,适配器继承自已实现的类(一般多重继承)。


3.简单的代码示例

        (220V 转 5V)

1)创建适配器接口



2)创建需要转换的对象


3)创建具体的适配器

@1 对象适配器模式


@2 类适配器模式

二者的区别:一个是传入对象   一个是以子类方式去继承


4)去调用

前者为对象适配器调用    后者为类适配器模式

结果

5)比较

类适配器采用了继承的方式来实现;而对象适配器是通过传递对象来实现,这是一种组合的方式

适配器通过继承都获得了父类的方法,客户端使用时都会把这些方法暴露出去,增加了一定的使用成本;对象适配器则不会。

类适配器只能适配他的父类,这个父类的其他子类都不能适配到;而对象适配器可以适配不同的对象,只要这个对象的类型是同样的。

类适配器不需要额外的引用;对象适配器需要额外的引用来保存对象。

4.使用场景以及优缺点

当想使用一个已经存在的类,但它的接口不符合需求时。

当想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。

提高了类的复用性,提高了类的灵活性(不同适配器不同功能),符合开闭原则,不修改原有的类

过多的使用适配器,会让系统非常零乱,不易整体进行把握。明明调用A接口,却被适配成B接口。

注:RecyclerView的复杂布局,就是通过adapter提供不同的layout引用,达到多布局的效果。不同的id不同的布局

相关文章

网友评论

      本文标题:android 设计模式篇 之 适配器模式

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