对Android中Adapter设计模式的理解

本文探讨了适配器模式在Android开发中如何应用于ListView组件,并通过实例解析了这种模式的具体实现,强调了在不修改现有代码的情况下如何通过适配器模式满足特定需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在看设计模式,想从理论联系实际来分析分析。因为在Android开发中,ListView用的特别多,用ListView时不得不用Adapter,很明显,从名字上可以看出,这里用到了设计模式中的适配器模式,但是看了别人介绍的适配器模式好几遍,也没能彻底明白ListView这块与Adapter模式有啥明显的对应关系。我刚开始的理解是:ListView要用到Adapter,而Adapter是一抽象类,我们具体使用时,实现具体的Adapter就可以了,好像与Adapter没啥特别大的关系。
今天又研究了几个例子,然后好好想了一下,突然醒悟,ListView这块的确是非常典型的适配器模式。
我对适配器模式的理解:(举例说明)完成一个任务时,需要调用接口InterfaceA的两个函数来完成,一般情况下,我们实现接口就可以了,而此时有一个类ClassA,已经实现好了,它正好可以用来完成此任务,正好需求上就是要用到类ClassA的功能。实现这个需求我们有很多选择,比如修改类ClassA或者扩展InterfaceA,但是这样修改会破坏开闭原则。现在提出一个要求,就是不修改现有的任何代码。这时候适配器模式就派上用场了,两种方式:1.新增一个AdapterA类,实现InterfaceA,同时保持一个对ClassA类对象的引用。
2.新增一个AdapterA类,继承ClassA类,同时实现InterfaceA。
现在再联系一下ListView的Adapter。ListView就是一个任务,ClassA就相当于我们传给Adapter的List对象或者数组等等,所以Android在这里用到了第一种Adapter方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值