Java中的设计模式之适配器、模板设计模式

今天咱们再来认识

两个设计模式

适配器设计模式

适配器

在使用监听器的时候, 需要定义一个类事件监听器接口。通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐。适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可。


适配器原理

适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的。


适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的,为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了.


举个例子:

不知道大家的高中都是什么样的哈~

(就是一个例子,大家写代码的时候不要这么写哈~)

640?wx_fmt=png


这就是娜娜高中的时候学习的科目,直接实现这个接口的话,就表示在高中所有科目都要学习,但是我们上学的时候是分文科理科特长生的,(不知道现在高考是什么样子了)那么就是有的科目,高考不考就没有必要去学习了


这个时候就可以创建一个中间类。所有方法都是空的,实现这个类没有意义,所以我们把这个类定义为抽象的。

640?wx_fmt=png


这个时候李雷是一个理科生就只要学习语数外+理综就可以了

640?wx_fmt=png


韩梅梅是文科生那就是 语数外+文综 就好了

640?wx_fmt=png

特长生这边娜娜不了解

就不举例子了~

这样适配器的原理是不是就很好理解了


模版设计模式

模版设计模式的概述

模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现


上面有点看不明白?

没关系咱们来动手做一下~

首先我们来写一段程序,用来获取程序运行的时间。

640?wx_fmt=jpeg

这样就可以求出这个for循环的运行时间大约2.5s~


但是加入我们想测试别的代码执行的时间,就需要一个个的去添加代码,不利于操作,我们现在就可以把计算时间的部分提取出来~


优化代码:

1)把获取时间的方法定义成为一个抽象的类

2)定义一个final方法把算法写进去

3)定义一个抽象的code方法(用于被子类继承,把需要计时的程序写进去)

640?wx_fmt=png


代码的执行:

640?wx_fmt=png

优点和缺点

优点

使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求


缺点

如果算法骨架有修改的话,则需要修改抽象类


那么就先到这里了

再见了


u1F4AA.0.png扩展阅读

Java网络编程之UDP协议

java中的设计模式之单例模式、工厂模式


来源:Java联盟

版权声明:文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除或授权事宜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值