[英]NewtonSoft JSON not raising Exception when using MissingMemberHandling.Error
[英]Throwing exception or raising a domain event?
考虑以下代码:
public class Article : AbstractEntity<Article> {
// ...
public void AppendFeedback(Feedback feedback) {
var quota = this.FeedbacksQuota ?? this.DefaultFeedbacksQuota;
if(this.Feedbacks.Count >= quota) {
throw new ApplicationException("message");
}
this.Feedbacks.Add(feedback);
}
// ...
}
所以我不知道超过配额后如何通知用户。 抛出异常对我来说似乎很糟糕。 是使用domain events
的正确地方吗? (示例值得赞赏,尤其是在ASP.NET MVC application
上下文中)。
我应该在哪里收集/处理消息?
谢谢!
如果您的反馈配额是不变的(业务规则),那么可以例外。
您可以随时添加以下方法:
public bool CanAddFeedback
{
get { return this.Feedbacks.Count < quota; }
}
在添加之前检查是否允许反馈,以便您可以返回有意义/用户友好的消息。
您可以在添加了包含剩余配额等的反馈时引发域事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.