【发布时间】:2020-05-12 00:04:07
【问题描述】:
我有一个Survey 模型类,它有以下四个值对象:
idcreationDatecommentansweredDate
调查会在固定时间后到期,比如 48 小时。然后我需要对此进行建模,但我不知道将它放在哪里。
- 在
creationDate上像hasExpired(now: Date)一样的方法? - 作为实体本身的函数,检查
creationDate? - 其他解决方案?
【问题讨论】:
-
您可能还想以不同的方式处理此问题。如果您希望应用程序对调查过期的事实做出反应怎么办?也许有一个调查到期政策会触发一个转换调查状态的事件?
-
您可能会觉得这很有趣。 kalele.io/modeling-temporal-occurrences
-
还有一个关于建模到期的老问题。也许它会激发想法。 stackoverflow.com/questions/40288764/…
-
您可以按照在 JSON Web Token 中建模的方式来处理它。只需将到期日期时间存储为实体的属性。然后关心的人会适当地使用它。因为调查是否过期本身并不重要,而是在某些操作的背景下。例如。提交已过期。然后“提交”命令处理器应该关心。
-
@iTollu “调查已过期本身并不重要”。这当然取决于域。您可能希望基于该事实来限制操作,但您也可以很好地触发操作。例如,“当调查到期时,向调查的创建者发送通知”。