C# 学习: 统计 Windows 应用耗时 - 分析及设计
为学习 C#,同时巩固领域驱动分析等技能,计划开发一个简单项目,并记录学习过程。
需求
- 记录应用使用耗时:准确记录每个应用的使用时长。
- 多维度统计:
- 总使用时长:统计当天总的使用时间。
- 应用使用时长:统计每个应用当天(或每周)的使用时长。
- 应用启动次数:记录当天(或每周)每个应用的打开次数。
- 当周使用趋势:按天记录每个应用在当周的使用情况。
- 最常用应用:在某个时间段内,统计使用频率最高的应用。
- 跨平台数据汇总:支持在多个设备间汇总数据,实现多平台同步。
系统设计: 类图 - 时序图
原计划通过领域驱动设计(DDD)的事件风暴方法来分析需求,但由于本项目的需求相对简单,直接整理出以下类图和时序图:
类图
描述了应用、设备、耗时记录等领域对象之间的关系。
时序图
展示了从应用启动到记录耗时的整个流程。
总结
通过清晰的需求分析,代码实现变得更加简洁流畅。本次项目还学习了 C# 中的依赖注入(DI)。下一步,将补充关键代码并进一步完善功能。