我无法决定这是基础设施或域名责任:
用户可以在url查询中传递日期范围,例如dateStart = 2016-04-12,dateEnd = 2016-04-15。基于该日期范围,我们返回在这两个日期之间创建了字段的实体列表。为了使这项工作正常,我必须将2016-04-12转换为2016-04-12 00:00:00和2016-04-15至2016-04-15 23:59:59,这种转换是否应被视为基础设施问题(并且应该放在存储库,或者可能是应用程序层)或业务规则(并且应该放在服务或实体中)?
答案 0 :(得分:3)
这种转换应该被视为基础设施问题(并且应该放在存储库,或者可能是应用层)或业务规则(并且应该放在服务或实体中)?
正如plalx所述,DateRange
/ TimeInterval
可能是一个重要的概念,应该在模型中表示为值类型。
获取您获得的用户输入,并以模型所代表的类型表达它们是一个应用程序问题。
查找满足该约束的实体列表应该是存储库问题。在存储库合同中明确表示该约束可能很有用 - 它用于记录底层存储中所需的功能。
答案 1 :(得分:0)
我会创建一个Util
对象(类),它将为您提供转换器方法
您必须决定如何在最深层(某种存储库?)中使用该格式。如果该格式与应用程序层上显示的格式不同,那么您必须在某处使用对话(我建议您使用后端API的顶部),但是可以在存储库层中使用验证等。同样。