DDD事件和抽象基类

时间:2013-02-05 09:19:48

标签: events domain-driven-design abstract-class base-class

我目前正致力于实现共享公共属性的多个事件,并且基本相同:模板。我们的事件提供程序应用了几个事件,如SomeTemplateAddedEvent和SomeOtherTemplateAddedEvent。稍后可能会有更多的变化,所以我考虑为每个TemplateAddedEvent实现一个基类,因为它们都共享公共属性。但我怀疑这是否是正确的方法,因为有些人更喜欢事件是包含每个属性的简单类,而不是必须深入挖掘以找出事件可以提供的内容。

我希望有人可以对这个问题有所了解。

1 个答案:

答案 0 :(得分:1)

继承通常用于两个正交原因 - 重用功能和在类之间声明“is-a”关系。看来你出于第一个原因正在使用它。这个原因是一个较弱的论点,因为重用也可以用组合来实现。那么要问的问题是事件之间是否存在“is-a”关系。有时候事件之间的继承是可取的,例如为从基类派生的所有事件提供处理程序是有意义的。

总的来说,如果仅用于实现代码重用,我会提醒我不要继承。如果它是关于域的适当陈述,那么它是有意义的。