我最近一直在阅读规范,我非常热衷于使用它们。但是,我害怕做得过火。
例如,如果我有一个带有电话号码属性的 User 实体,我是否需要将电话号码规范测试放在 setter 中,或者 setter 中的验证逻辑是否足够?
谢谢,菲尔
更新: 更多上下文:我想我希望验证在域中,而不是在演示文稿中。我将在演示文稿中实现验证,但这更像是一个 UI 功能。这个想法(我相信)是域不能处于无效状态,也不能依赖于演示文稿。我实际上有一个电话号码实体,并且许多实体都有电话号码,虽然我认为这可能是价值对象,但这是另一个争论:)
我只是想知道在属性设置器中使用规范是否过分。我可以看到的一个优点是规范可以在层之间共享,即表示层,以便您可以共享验证代码。
如您所见,我不确定这是否是正确的方法。
非常感谢,菲尔