我有一个包含以下UI组件的应用程序:
该应用程序基于MVC,因此上面列出的每个组件都有一个控制器和一个视图。
前三个组件需要在列表中显示数据实体(作为新选项卡):
由于可能存在大量项目,因此从数据库加载它们的过程是由网格异步完成的(网格在您查看时正在填充)。
我的问题是:以下哪一项是“更清洁”的设计? (如果你有更好的解决方案,我将非常感激)
我的第一个解决方案是使用EventAggregator,定义“ShowQuery”事件,让列表控制器订阅它,其他控制器会在想要显示查询结果时发布它。 / p>
另一个解决方案类似于Unity容器,并且从其他控制器解析“IListsController”接口,并调用“ShowQuery”方法。