gpt4 book ai didi

c# - 使用 PRISM 模块和 MVVM 的程序架构

转载 作者:行者123 更新时间:2023-11-30 18:02:45 25 4
gpt4 key购买 nike

我不确定如何使用 PRISM 模块构建大型程序。

我创建了以下图层:

存储库BusinessLayer -> IUnityContainer 注册服务UILayer -> MVVM 实现

如果我有 3 个模块,并且我在其中一个模块中有一个操作,我该如何触发加载另一个模块的 View ?

我目前正在使用 EventAggregator,但这需要以某种方式加载 View 模型,以便它可以订阅事件。

理想情况下,我想,我想做如下事情:

IOrderService service = UnityContainer.Resolve();服务.PlaceOrder();

然后订单服务负责加载相关的 UI 功能并将其注册到 RegionManager。

这是正确的还是我完全错了?

谢谢

最佳答案

我其实很喜欢你的两种方法,但是使用哪一种真的取决于你的要求。如果您想明确地让一个模块告诉另一个模块要做什么,那么服务定位器就是您的最佳选择。但是,这种方法倾向于在您的模块之间带来某种程度的紧密耦合。

如果更紧密的耦合不是您想要的(例如,当您添加第四个需要处理操作的模块时会发生什么?),那么事件聚合器可以为您提供更松散的耦合。这种方法确实需要更严格和更前期的工作来管理区域等,因为它很容易导致一些难以管理的事件集导致调试困难(我现在在一个项目中遇到了这个问题)。

有点模糊的答案,但我希望它能有所帮助:-)

内特

关于c# - 使用 PRISM 模块和 MVVM 的程序架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com