这一章主要介绍了适配器模式。开头的比喻什么生动形象,就像电源适配器帮助在低电压直流电下工作的电器使用高电压的交流电一样,代码中的适配器就是这种用来填补现有的程序和需要的程序之间的差异。适配器模式主要有两种:类适配器模式(使用继承的适配器)和对象适配器模式(使用委托的适配器)。由于Java中无法同时继承多个类,所以对象适配器的模式就是直接在适配器中持有目标类的实例,这样就相当于通过委托的方式,让目标类帮助我们完成任务。
第一章Iterator模式是平时运用的太多了,所以没有什么太大的想法。而这个适配器模式看似沟通多个不同的类,应该是挺常用的,但在我的印象中却使用的不多。搜了搜我们项目,果然没有几个名称中有adapter的类。难道我感觉错了,这个模式其实并不实用?可以我转念一想,这个适配器模式其实是用来进行不同模块之间的交互,降低耦合的。说到模块交互,那最频繁的就是我负责的接口模块啊,但是我们其实并没有受到太多来自不同客户的影响,这是因为在我们的背后有framework的同事提供的EAI帮忙,整个EAI就是一个大的Adapter,帮助我们能够迅速和不同客户进行对接。我又搜索了一下代码,这次果然发现EAI中遍布着各种各样的Adapter,他们默默地帮助我们完成了不同系统的对接,真可谓是我们系统不断发展壮大的幕后功臣。
本来到这里就可以结束了,可是我继续想到说起降低耦合,我就想起了我们系统最近的几次大的改动。从远的整体项目升级到jdk1.8,到近的什么TS改造都不轻松,以至于说要改造TP更是没敢动手。这些都是因为模块之间的耦合太强,关系太紧密了,牵一发而动全身。事后说风凉话当然简单,事前想要高屋建瓴地预计到这些问题并且设计好优秀的模式无疑十分困难。甚至现在我们面临的这些难题需要怎么解决,Adapter模式可以帮上忙吗我都不清楚。继续学习吧,希望看完书我可以有更多的思路。
网友评论