今天咱们再来认识
两个设计模式
适配器设计模式
适配器
在使用监听器的时候, 需要定义一个类事件监听器接口。通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐。适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可。
适配器原理
适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的。
适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的,为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了.
举个例子:
不知道大家的高中都是什么样的哈~
(就是一个例子,大家写代码的时候不要这么写哈~)
这就是娜娜高中的时候学习的科目,直接实现这个接口的话,就表示在高中所有科目都要学习,但是我们上学的时候是分文科理科特长生的,(不知道现在高考是什么样子了)那么就是有的科目,高考不考就没有必要去学习了
这个时候就可以创建一个中间类。所有方法都是空的,实现这个类没有意义,所以我们把这个类定义为抽象的。
这个时候李雷是一个理科生就只要学习语数外+理综就可以了
韩梅梅是文科生那就是 语数外+文综 就好了
特长生这边娜娜不了解
就不举例子了~
这样适配器的原理是不是就很好理解了
模版设计模式
模版设计模式的概述
模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现
上面有点看不明白?
没关系咱们来动手做一下~
首先我们来写一段程序,用来获取程序运行的时间。
这样就可以求出这个for循环的运行时间大约2.5s~
但是加入我们想测试别的代码执行的时间,就需要一个个的去添加代码,不利于操作,我们现在就可以把计算时间的部分提取出来~
优化代码:
1)把获取时间的方法定义成为一个抽象的类
2)定义一个final方法把算法写进去
3)定义一个抽象的code方法(用于被子类继承,把需要计时的程序写进去)
代码的执行:
优点和缺点
优点
使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求
缺点
如果算法骨架有修改的话,则需要修改抽象类
那么就先到这里了
再见了
扩展阅读
公众号:javafirst
网友评论