《设计模式之美》运用学过的设计原则和思想完善之前讲 的性能计数器项目(下)

王争《设计模式之美》学习笔记

代码重构优化

  • 我们可以将 ConsoleReporter 和 EmailReporter 中的相同代码逻辑,提取到父类 ScheduledReporter 中,以解决代码重复问题。
  • 上一步的重构之后,EmailReporter 中的 startDailyReport() 函数的核心逻辑已经被抽离出去了,较复杂的、容易出 bug 的就只剩下计算 firstTime 的那部分代码了。我们可以将这部分代码继续抽离出来,封装成一个函数 trimTimeFieldsToZeroOfNextDay(),然后,单独针对这个函数写单元测试。
  • 但我们发现这个函数的可测试性仍然不好,因为它强依赖当前的系统时间。解决方法是将强依赖的部分通过参数传递进来,对TimeFieldsToZeroOfNextDay() 函数进行重构。

功能需求完善

  • 版本3已经实现了大部分的功能,还有以下几个小的功能点没有实现:
    • 被动触发统计的方式,也就是需求中提到的通过网页展示统计信息。我们可以复用框架现在的代码,编写一些展示页面和提供获取统计数据的接口即可。
    • 对于自定义显示终端,只需要提供一些获取统计数据的接口,监控平台通过这些接口拉取数据来显示即可。
    • 自定义显示格式。将显示终端和显示格式的代码分离,让显示终端支持配置不同的显示格式。

非功能需求完善

  1. 易用性
  • 框架的使用者将框架集成到自己的系统中时,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值