首先说一下今天是看视频看到了这个设计模式,其实当时看大话设计模式我有一个手抄本,差不多全书的所有内容都抄了一遍。现在让我说设计模式是可以背下来的,但是然并卵。毕竟背下来了甚至能简单说下是原理和思路,但是和实际应用是脱轨的。所以虽然早早的就想要整理记录但是也迟迟没有动作。
但是在最近在看spring源码解析,却发现其中使用了大量的设计模式,今天决定起码要把遇到的都记录一下。并且用实际例子来配合理解。
适配器模式可以简单理解为:两个不兼容接口的桥梁,举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。
而在spring中,比如有个接口。其中有A,B,C,D,E五个方法。
这个时候s1想要实现其中A,B方法。s2想要实现其中C,D方法。s3想要实现其中D,E方法。
正常来讲因为接口的方法是必须全都实现的(java8之前),所以如果我们直接实现这个接口会造成大量冗余的无用代码。所以这里一般用适配器模式。
用一个类来实现这个接口并且每个方法都有默认方法的实现。再把s1,s2,s3来实现这个类。
这个就是适配器模式。
当然了随着java8中接口可以有默认实现,所以spring5,spring boot2相比于之前做了大量的改动。当然这个只是题外话,这里就是说下适配器模式的实际应用。下面是实际代码:
我们一般使用HttpServlet这个类。而这个类继承自GenericServlet。
GenericServlet这个类才是真正实现接口的一个类。
从而保证我们使用HttpServlet的时候可以只实现我们想用的方法就可以了。而不用所有的方法都实现一遍。
本篇笔记就记到这里,如果稍微帮到你了记得点个喜欢点个关注,也祝大家工作顺顺利利,生活健健康康!
网友评论