gpt4 book ai didi

design-patterns - 在 MVP 架构中存储状态的位置

转载 作者:行者123 更新时间:2023-12-04 17:41:10 25 4
gpt4 key购买 nike

在关于 SO 的其他 MVP 相关问题中,人们谈论 Presenter 保持状态信息(可能是 session 状态或 UI 状态)。我想知道的是,既然状态基本上是“ transient 数据”,而模型的目的是封装数据访问,那么状态不能保存在模型内部吗?在 Presenter 和 Model 中存储状态是否有任何经验法则或优缺点? MVP 模式是否要求使用 Presenter?

最佳答案

该模型的目的不是封装数据访问,而是提供您的域的表示(模型),无论它可能是什么。有时数据访问作为模型的一部分包含在内(例如,使用 Active Record 样式的数据访问),但通常情况下它是独立的。例如,当我在桌面应用程序中完成 MVP 时,演示者直接从数据库中检索模型或使用 repository - 该模型与数据访问无关。

但是,在哪里存储与 View 相关的状态是一个灰色区域,并且取决于您使用的是什么类型的应用程序 - 对于桌面应用程序,它更容易,因为您可以将它保存在演示器中,对于网络应用程序来说,事情得到了有点棘手。您可能会考虑为 View 创建一个单独的模型,该模型可能包含也可能不包含核心模型(如 MVVM 模式中的 ViewModel,在 .Net WPF 开发中很流行)。

关于design-patterns - 在 MVP 架构中存储状态的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504799/

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