我正在研究使用C#在Xamarin应用程序中实现MVU模式的可能性。这似乎主要取决于提供给视图的模型的不变性,以及在需要更改模型时不断生成新模型的Update函数。
如果模型可能包含引用类型,那么在C#中是否可以在不实现某种深度复制的情况下正确地实现这一点?
我意识到在F#中已经有了这样的框架,但我只是想知道,C#缺乏对不变性的支持,这是否意味着它不可能在不实现某种深度复制操作的情况下实现纯形式的MVU?
发布于 2020-09-18 17:28:45
微软似乎很快就会用它即将推出的Multi-platform App 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 ++)
)
};更多信息:
发布于 2021-04-27 07:32:50
Comet很可能就是你要找的库。它也将是MAUI将支持的MVU模式的基础,@sevenate指的是MVU模式。
发布于 2021-11-08 02:39:08
有一个库可以用Xamarin.Forms在C#中执行完整的MVU:https://github.com/shirshov/laconic (我是作者)
https://stackoverflow.com/questions/62509487
复制相似问题