1

我正在研究使用 C# 在 Xamarin 应用程序中实现 MVU 模式的可能性。这似乎主要取决于提供给视图的模型的不变性以及在Update需要更改模型时将继续生成新模型的功能。

如果模型可能包含引用类型,是否可以在 C# 中正确实现这一点而无需实现某种深拷贝?

我知道在 F# 中存在像 Fabulous 这样的框架来执行此操作,但我只是想了解 C# 缺乏对不变性的支持是否意味着如果不求助于实现某种深复制操作?

4

3 回答 3

1

微软似乎很快就会用其即将推出的多平台应用程序 UI (MAUI)框架来回答这个问题:

readonly State<int> count = 0;

[Body]
View body() => new StackLayout
{
    new Label("Welcome to .NET MAUI!"),
    new Button(
        () => $"You clicked {count} times.",
        () => count.Value ++)
    )
};

更多信息:

于 2020-09-18T09:28:44.993 回答
0

有一个库可以用 Xamarin.Forms 在 C# 中完成完整的 MVU:https ://github.com/shirshov/laconic (我是作者)

于 2021-11-08T02:39:08.413 回答
0

Comet可能是您正在寻找的图书馆。它也将成为 MAUI 将支持的 MVU 模式的基础,这也是@sevenate 所指的。

于 2021-04-26T23:32:50.190 回答