问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

适配器模式(Adapter)

发布网友 发布时间:2022-12-23 09:52

我来回答

1个回答

热心网友 时间:2024-11-23 20:30

网上看到不少关于适配器模式的讲解,其中对于适配器模式解释的过于专业,一时不是特别理解适配器模式到底是用来干嘛的,具体的适用场景在哪,其最精髓的地方到底在哪。

本文结合自己的理解,阐述下对适配器模式的看法。

假设系统存在一个现有的类UserInfo:

客户端可以通过如下方式set、get员工基本信息:

有一天,基于某种原因(也许你看着这种取数据的方式不太爽,也许是系统间数据交换的原因等),你需要按照如下接口的方式取数据:

目标员工接口:

那么,现在的问题是,如何将一个既定的类转换成按照目标接口的所期望的行为形式呢?

具体怎样实现呢,可以通过如下方式进行:

从上面的UserAdapter类定义中我们发现,UserAdapter不仅实现了UserInterface接口,同时还继承了UserInfo类。在实现接口的getName()和getTelNumber()方法中,分别调用了UserInfo类中的相应方法并取得结果。由此可以满足需求。在上述定义中,按照UserInterface、UserInfo和UserAdapter在场景中的目的不同,可以具体划分成如下角色:

UserInterface:目标角色——目标接口,系统所期待实现的目标;
UserInfo:源角色——当前已经存在的原有的实现类,即将被适配的类;
UserAdapter:适配器角色——将原有实现装换为目标接口的实现。

简单点说,适配器模式是指:定义一个类,将一个已经存在的类,转换成目标接口所期望的行为形式
在具体的实现过程中,又可以基于其实现层次是类层次还是对象层次,将其分为类适配器和对象适配器。如上所写的是类适配器。

对象适配器使用组合代替继承,将源角色视为适配器角色的属性:

总体而言:适配器模式是指定义一个适配器类,将一个已经存在的类,转换成目标接口所期望的行为形式。同时,一般来说,基于更多的推荐使用组合而不是继承,因此,对象适配器可能使用更多。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 一台电脑怎么登录两个 电脑上可以登录两个吗 独生子女的婆婆妈妈老总发现林芳鬼计是哪集 情感电视剧林芳卷走五千万是哪一集 第几集林芳露馅了 《独生子女的婆婆妈妈》林芳流产是在哪集 林芳流产了吗 alexanderwang为啥贵 400V37KW50HZ变频器能不能带440V22KW60HZ电机 发财树怎么栽如何栽培发财树 请教:惠普cc388a硒鼓怎样加粉? 口水鸡应该怎样做? 烤箱花生牛轧糖的做法 梦到捡到金项链 余姚和丰朴模具有限公司差不多的公司有吗 宁波博威上班累吗 索尼rx100是全画幅么 超长焦rx10 3是全画幅相机吗 长焦数码相机现在拍照可以吗?索尼新出的RX10M4有什么特点? 天使的翅膀歌曲原唱徐誉滕 一台电脑怎么登录两个 adapter适配器与adc适配器可以通用吗 dnf110异端审判者厉害吗 大床带边堵头,堵头放左边右边 大力王者青鲟杆7.2堵头多大 古言小说 + 简介。 机动车有哪些情形需要向车管所变更登记 股票上限和下限是什么意思 水浒传读书笔记 55回 ——┌|『 挚爱良颜』原创】[新年贺文]错身[短篇] by散若流兮 求文... 直接证据的造句怎么造(精选20句) 辽宁金鼎集团破产了吗 江苏金鼎节能技术股份有限公司电话是多少? 个人贷款原则上应当采用什么支付的方式向借款人交易对象支付 公司网络电话有四根线,我用的电话接的这根线突然电话没反应就像没电一... 确凿造句 什么是大型关系数据库开发平台 电动车扫码充电效率与直接有关吗 小区电瓶车扫码充电可以充手机吗 早上5点起床有什么危害(早上5点起床有什么危害跑步) 波什么壮阔四字成语