gpt4 book ai didi

mvvm - Autofac MVVM-终身

转载 作者:行者123 更新时间:2023-12-03 10:24:36 28 4
gpt4 key购买 nike

是否有在MVVM应用程序中使用Autofac的示例?我不确定在MVVM环境中如何控制生命周期和对象处置。

我知道我可以创建一个生命周期并从其下解决,但这确实更像是服务定位器模式而不是IoC模式。

最佳答案

我没有公开的示例,但是我已经在Silverlight应用程序中做到了。

我使用Silverlight navigation framework来组织顶级内容。当框架导航到新页面时,我创建了一个生命周期范围,在其中解析了页面的根 View 模型,该模型通过属性与页面关联:

[ViewModel(typeof(OrdersViewModel))]
public class OrdersView : Page

当框架导航到另一页时,我在创建下一个范围之前先设置了生命周期范围。

相同的模式适用于打开对话框。每个对话框都有自己的生存期范围和 View 模型。当它关闭时,生存期范围将被处置。

在某些情况下,并没有沿着这些边界整齐地落入。有时您需要更多的粒度,并且可以使用 contextual scopes进入生命周期范围。这些情况通常是一次性的,并且涉及一些胶水以开始使用生命周期范围。

我发现用 units of work来思考很有帮助:在每个生存期范围的结尾提交更改。这使一组数据的 extent成为自然生命周期范围。

关于mvvm - Autofac MVVM-终身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5034391/

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