gpt4 book ai didi

model-view-controller - 如果它与其他页面相同,您会创建一个 View 模型吗?

转载 作者:行者123 更新时间:2023-12-03 10:30:27 26 4
gpt4 key购买 nike

多亏了以前的答案,我现在已经编写了 View 模型并且非常喜欢这个概念,但是,在应用程序中的某些点, View 模型将与(不确定术语..)真实模型完全相同。

现在在这种情况下,我明白 View Model 是最好的一天,我可能会改变应用程序逻辑,它会使应用程序更加健壮。

但是,我现在遇到的一种情况是,我有多个彼此非常紧密地链接的页面,并且都需要完全相同的模型。在这种情况下,您会使用相同的 View 模型还是只为每个页面单独创建一个相同的 View 模型?

最佳答案

它们完全一样吗?在我看来,如果它们完全相同,您应该重用 ViewModel。为什么要创建两次功能基本相同的相同 ViewModel。但是,您应该注意 ViewModel 构造函数中没有服务调用,因为您可能不需要对所有 View 进行完全相同的服务调用。在这种情况下,即使您不需要,您的电话也会被浪费。在这种情况下,在 ViewModel 中创建一个公共(public)方法,例如:

public void DoServiceCallsForViewA()
{
ModelObj.FooA();
}

public void DoServiceCallsForViewB()
{
//your calls for view B
ModelObj.FooB();
}

然后在您的 viewA 中,您可以对 DataContext 进行类型转换,
((YourViewModelName)DataContext).DoServiceCallsForViewA();

在你的 viewB 中你可以写:
((YourViewModelName)DataContext).DoServiceCallsForViewB();

关于model-view-controller - 如果它与其他页面相同,您会创建一个 View 模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171793/

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