ABP源码分析十一:Timing
Timing这个简单实用的功能主要用于以统一的方式表示时间。因为ABP中有大量的module,还支持自定义module,所以将时间统一表示为local时间(默认)或utc时间是必要的。
IClockProvider:提供获取当前时间和标准化时间的接口。
UtcClockProvider:实现了以UTC为标准时间的IClockProvider
LocalClockProvider:实现了以Local为标准时间的IClockProvider
Clock:封装了IClockProvider,对外提供当前时间和标准化时间的方法。默认使用LocalClockProvider。
IDateTimeRange/DateTimeRange:表示一个时间区间的实体
Timing作为一项基本功能,在ABP中被大量复用。这也体现了DRY原则。