适配器模式改造Servlet

shuyepl 2022-06-04 12:58:00
Categories: Tags:

内容简介:一些关于适配器的内容

适配器模式:在接口中有很多的方法,我们在实现接口的时候每次都要将里面的方法实现,但是里面其实常用的方法就只有那么几个而已,有一些方法我们基本不会去使用,每次都要将这些方法写一遍的话很麻烦,而且查看代码的时候也不是很方便,所以就用适配器模式来解决这个问题。适配器模式就是我们创建一个抽象的适配器类,去实现我们的接口,然后在适配器里面,将我们经常使用的那些方法设置成抽象的方法,而其他方法则是非抽象的方法,这样,在我们构建一个类的时候就可以去继承适配器类,在类的里面我们只需要将我们经常使用是方法实现了就可以了,而其他方法则是在父类中实现了,可以大大提高代码的简洁程度。

对每一个实现适配器类的子类而言,他们所经常使用的方法可能是不一样的,所以我们可能还要设置多个适配器。

具体例子的话往下看:

假设我们有一个学生社团,这个学生社团平时会举办一些活动,那在举办活动的过程中就需要完成一些任务,比如他们在举办活动之前需要先向学校的社团管理组织提出活动申请,等活动申请审批下来之后就可以安排活动的举办了,在这期间,他们可能需要组织人员发布活动通知,告知学校的同学们可以报名参加活动,并且让想参加活动的同学在手机上面填写报名表,然后他们需要将这些报名表收集起来,整理成活动人员的名单,在活动举办之前,他们可能还需要邀请指导老师来参加活动,借用举办场地的活动等,在活动举办之后,他们还要负责将这次活动记录下来,例如写推文等,而且最后还要将真正参加活动的人员名单统计出来,交给学校相应的组织,为参加活动的人员申请相应的加分等。由于这个活动的举办涉及到很多方面的任务,如果大家一起来完成这些任务的话可能会很混乱,所以,这个学生社团就会有几个部门,分别是外联部,财务部,宣传部等,每个部门负责不同的工作,具体分工如下

财务部:活动物资的购买,活动经费的申报,账单的报销等

外联部:学生社团内部人员任务的安排以及和外部的联络,包括和老师的联络还有和社团管理组织的联络,活动人员报表的整理等

宣传部:活动前的活动宣传,各种公告的通知,活动后的活动回顾等

所以,对于这个学生社团而言(最顶级的哪一个接口),它要负责的任务有很多,而他下面的各个部门(实例)却只需要完成这个学生社团全部任务的一小部分而已,对于与该部门无关的任务,它无需去关心其他部分要完成的任务(不用去实现跟它本身无关的方法),这个时候,我们在每个部门与学生社团中间都加入一个部长(适配器),每个部长负责接受各个部门需要做的任务(将方法设置为抽象的),将其分配给下面的人去完成(实现),而那些不需要相应部门去做的任务,则由部长进行过滤(在部长这里就实现了),这样,各个部门的人就只需要执行自己要完成的任务就可以了(实现自己需要的方法就可以了),而不用去关心太多的问题。

这个解释我写到最后的时候才感觉好像有点牵强,好像,有什么地方差一点点,但是目前也没有什么更好的解释了,如果之后想到更好的解释的话再进行修改吧

对于 Servlet 类的适配器的话,有一个 GenericServlet 类,实现了,但是吧,就老师这里教了一些底层一点的知识,所以,学一下吧~ O(∩_∩)O哈哈~ ,又不会吃亏

这个下面的视频很多都是一些思路方面的内容,我就不记录了,基本上是在讲上面说的 GenericServlet 类的一些底层的实现方式


参考资料:https://www.bilibili.com/video/BV1Z3411C7NZ?p=12&share_source=copy_web