我试图从架构和设计的角度来理解事件聚合器模式。我以前从未在 WPF 中使用过 Prism,但我正在研究它在 MSDN 上的工作原理。
在我看来,对于每个事件,用户都必须创建一个新的事件对象来扩展CompositePresentationEvent
. 似乎新事件对象除了继承自那些之外没有其他功能(它通常没有自己的代码)。
例如:
A AddNewStuffEvent
看起来像:
public class AddNewStuffEvent : CompositePresentationEvent<Object> {} //The end of the class
对于一个HealthChangeEvent
:
public class HealthChangeEvent: CompositePresentationEvent<Object> {} //The end of the class
对于一个BookFlipEvent
:
public class BookFlipEvent: CompositePresentationEvent<Object> {} //The end of the class
对于一个BookCloseEvent
:
public class BookCloseEvent: CompositePresentationEvent<Object> {} //The end of the class
BookOpenEvent
对于,等的每个小事件,这可能会永远持续下去BookTearEvent
。因此,在特定的命名空间文件夹中,将有大量的事件类,并且事件聚合器将在运行时加载所有这些事件对象. 也就是说,每个小活动都需要一个空班?这是它的工作原理吗?有什么更好的方法呢?