适配器模式
1、什么是适配器
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。举个例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
优点:
(1)、可以让任何两个没有关联的类一起运行。
(2)、提高了类的复用。
(3)、增加了类的透明度。
(4)、灵活性好。
缺点:
(1)、过多地使用适配器,会让系统非常零乱。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现,因此如果不是很有必要,不使用适配器。
(2)、由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
2、适配器模式中的角色分析
目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
需要适配的类(Adaptee):需要适配的类或适配者类。
适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。
3、实现方式
(1)、类适配器(采用继承实现)
(2)、对象适配器(采用对象组合方式实现)
4、代码实现
继承方式:public class Phone { //充电 public void charging(Voltage5V voltage5V){ if(voltage5V.output5v() == 5){ System.out.println("电压为5v,可以使用"); }else { System.out.println("电压过大 不允许使用"); } } } public class Voltage220V { public int output220v(){ int src = 220; System.out.println("输出220V"); return src; } } public interface Voltage5V { public int output5v(); } public class Voltage5VAdapter extends Voltage220V implements Voltage5V{ @Override public int output5v() { int src = output220v(); int dst = src / 44; return dst; } } public class Test { public static void main(String[] args) { Phone phone = new Phone(); phone.charging(new Voltage5VAdapter()); } }
对象组合方式public class Voltage220V { public int output220v(){ int src = 220; System.out.println("输出220V"); return src; } } public interface Voltage5V { public int output5v(); } public class Voltage5VAdapter implements Voltage5V { private Voltage220V voltage220V; public Voltage5VAdapter(Voltage220V voltage220V) { this.voltage220V = voltage220V; } @Override public int output5v() { if(null != voltage220V){ int src = voltage220V.output220v(); int dst = src / 44; return dst; }else { return 0; } } }
5、适配器模式在SpringMVC中的应用
(1)、Spring 定义了一个适配接口,使得每一种conroller有一种对应的适配器实现类。
(2)、适配器代替controller 执行相应的方法。
(3)、扩展controller 时,只需要增加一个适配器类就完成了SpringMVC 的扩展。
路过的朋友们,帮忙点个赞。[玫瑰][玫瑰]
不是肥皂就是舒肤佳!多数男生还蒙在鼓里,你的皮肤没那么抗造!我敢确定,大多数的男生都不知道,你们的皮肤其实也没有那么抗造的啊!清洁力度超强的除螨皂真的可以天天用吗?舒肤佳这种全家都能用的沐浴露对男性皮肤真的有效吗?沐浴露随便应付,小心你的皮
萧萧白杨萧萧白杨许冬林白杨树是我见过的生长得最专注的树了。树干挺拔向上,像毛笔的中锋,笔直指向天空。那些丫枝里,没有一个逃兵,哪怕一点异心都没有。看着那样统一步调的丫枝,在主干的统领下,奔
没有最好的,只有更好的金无足赤,人无完人,世上没有完美的东西,也没有无缺憾的事物。正如温饱是一种辜福,饥饿才能体会健康是一种幸福,病痛才能体会爱情是一种幸福,失恋才能体会团聚是一种幸福,离别才能体会宁静
在家中养一盆草率性而为,不用费心,不用有负担,也能拥有快乐。先是在家里养起了花。然而,彻底失败,所有的盆中罐中都荒芜一片。花儿枯萎得干干净净,但却无心栽柳柳成荫,自生自长地生出了不少的小草,小草
秒回是最廉价的喜欢点击右上方关注,解锁每天新故事。我曾听过,很多女生抱怨自己的男朋友是直男,不懂情趣不懂浪漫,不管什么时候都只会说多喝热水。女生嫌弃男生嘴笨的同时,心里也有些不安他是不是在敷衍我?其
人民日报金句摘抄(第95期)分享每日人民日报金句,积累写作素材,成就最好的自己。人民日报金句每一句都如此惊艳。最好的自爱是自律。时间是最好的过滤器。无人问津也好,技不如人也罢,你都需要让自己安静下来。人生如茶
二月二龙抬头日,几点剃头吉利?记住这几个吉时,好运自然来头条创作挑战赛二月二龙抬头日,几点剃头吉利?记住这几个吉时,好运自然来二月二从节气上说,正处在雨水惊蛰和春分之间,我国南方很多地方已进入雨季。俗话说龙不抬头天不雨。为了唤醒龙这天,
人过六十,做到三要,你便是一个让人感到舒适的人人到六十,某种意义上是很多人极盼望的事儿上班的终于可以拋开绩效会议职称上司的脸色同事的心机缴纳社保的终于可以领到盼望已久的养老金了。六十岁,还有非比寻常的文化含义活过六十甲子,即使
春天穿搭合集,你想要的风格全都有哈喽小伙伴们下午好周四到了,周五还远吗,很期待这周的周末啊,晴天,可以出去溜达啦春天没别的,就是力求美美美,风格可以百变,可甜美,可性感,可休闲,可运动,可学院,可日系,可韩系,就
早春流行穿灰色大衣,39套搭配又酷又飒,展现女人高级感气质保暖又时髦的大衣,深色女人的的喜爱,尤其是成熟女人,衣橱里更不能少了一件大衣来彰显女人的独特气质,演绎着对生活的热爱。那么,适合早春的灰色大衣怎么搭配好看呢?接下来就来学习39套时
早春漂亮衣服好多啊!裙装裤装全都有,衬衫针织衫也都安排到位了早春漂亮衣服好多啊这是我每年春天都会感叹的一句话,今年同样也不例外,和往年春天不同的是,今年春天流行的单品特别丰富。这其中,既包括了裙装又包括了裤装,既有衬衫又有针织衫,不同的单品