我只是想与我的想法讨论利弊。
我已经接管了一个ASP.NET解决方案,其中大部分逻辑都放在UserControls中,后面还有代码。我正在尝试重构这个,因为引入了新功能,现在我正面临一个新问题。
目前邮件警报是在后面的代码中发送的,但我正在考虑将其移到单独的类中。这就是我的想法:
向域类添加静态事件,即。 BookingAccepted,BookingRejected等等。然后使用一个负责发送电子邮件的类来挂钩这些事件。
这意味着向域实体添加事件。这是一个好主意还是坏主意?为什么?
答案 0 :(得分:1)
域事件机制是一个好主意。但实现可能会有所不同,静态通常不是最佳方式。我喜欢Udi Dahan的想法,请看blog post
答案 1 :(得分:1)
发送电子邮件通知看起来像基础设施。因此,我将这个逻辑移到了应用程序/域服务(同一个地方,你在那里与存储库交谈,做日志记录等)。您没有通过域对象实现INotifyPropertyChanged
来进行日志记录和持久化。与发送电子邮件相同。