gpt4 book ai didi

c# - 将并行化 Controller 代码放入MVVM的 View 模型中是否不好

转载 作者:行者123 更新时间:2023-12-03 10:23:21 24 4
gpt4 key购买 nike

我正在使用MVVM模式编写程序。该程序将并行执行大量任务,并且结果将在前端GUI中更新。我希望在每个任务完成时更新GUI,并且我使用障碍等来控制任务执行。

我的问题是,将包含障碍的代码放在 View 模型或模型中的什么位置?将它放在viewmodel代码中很容易,但是我认为它不符合MVVM模式。

但是,如果要将代码放入模型中,是否意味着我需要将 View 模型对象传递给模型,以便在任务完成时更新对象?

最佳答案

您的模型应尽可能干净便携。即使您决定将处理逻辑放入模型中,它当然也不应该对上层即ViewModel有所了解。您可以通过在模型上具有能够通知感兴趣的ViewModels的事件(例如Done,ProgressChanged等)来解决该问题。
关于该处理逻辑应驻留在何处的问题,我不得不说取决于它。
这是您网域的核心部分吗?这是您的域在其他情况下必须再次执行的操作吗?此代码是否应该可重用?
在那种情况下,它似乎属于您的模型。

话虽如此,我相信这种逻辑主要属于ViewModel层。您仍然可以使用模型来存储数量或任务或处理结果等,但不能存储实际处理。

希望这可以帮助。

关于c# - 将并行化 Controller 代码放入MVVM的 View 模型中是否不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20102917/

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