gpt4 book ai didi

asp.net - 多个 UI 的接口(interface) Controller (ViewModel)

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

我目前正在设计一个新的 .NET 应用程序,并希望保持 UI 独立。

虽然我最初想使用 WPF,但如果需要,我希望可以选择将 UI 交换为 ASP 或 WinForms。

在分层设计中:

View - 接口(interface) Controller (ViewModel) - 模型 - 持久性

是否可以设计接口(interface) Controller 使其可以与不同的 View 技术一起使用,或者我是否需要同时更换接口(interface) Controller 作为 View ?

最佳答案

看看我的answer提问 "Silverlight with MVVM Inheritance: ModelView and View matching the Model" .

我给出的答案也适用于您的情况。

简而言之,我定义了以下通用接口(interface):

public interface IModel
{
}

public interface IViewModel
{
}

public interface IViewModel<M> : IViewModel
where M : IModel
{
void Bind(M model);
}

public interface IView
{
}

public interface IView<VM> : IView
where VM : IViewModel
{
void Bind(VM viewModel);
}

这允许我定义这样的特定接口(interface):
public interface IPersonModel : IModel
{
}

public interface IPersonViewModel : IViewModel<IPersonModel>
{
}

public interface IPersonView : IView<IPersonViewModel>
{
}

通过针对这些接口(interface)实现层,您可以交换 IView<VM> 的实现。与 WPF、Silverlight、Windows 窗体甚至 ASP.Net 的接口(interface)。

关于asp.net - 多个 UI 的接口(interface) Controller (ViewModel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162247/

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