在开发我的接口(合同)和它们的具体实现时,包括数据模型和存储库,我发现自己质疑验证逻辑应该去哪里。我的一部分(倾向于胜出)说类本身应该负责它自己的验证(字符串最大长度,日期缓冲区等),但我的另一部分说这应该移出到存储库,因为取决于在持久存储上,这些值可能会根据您的存储库实现而改变。
我认为必须在类级别进行一些验证,并且认为它可能应该保持在一起并且即使存储库这样做也不会更改,这就是为什么我倾向于将其保留在类中。
我只想进行 UI 验证,但这还远远不够,因为可以绕过大部分 UI 验证。
好奇人们的想法及其背后的原因。