替代添加ServiceLocator而不是App.cs

时间:2016-08-31 06:42:18

标签: xamarin.forms mvvm-light

在我的Xamarin Forms项目中,我有以下架构:

一个便携式项目,处理常见的gui东西,并由每个移动平台项目继承。

Portable Common项目,处理所有逻辑内容并由每个移动平台项目继承。

我打算使用MVVM Light库和SimpleIOC。

现在问题,在我的便携式项目中使用常见的gui东西,我可以添加一个servicelocator(来处理所有的视图模型)到App.cs,这样就可以了。 但是我如何将它添加到公共项目中,以处理服务和其他逻辑内容?

1 个答案:

答案 0 :(得分:0)

您不需要在每个库中都有ServiceLocator实例。

我们假设您在图书馆中有一个课程[ { "$project": { "formattedDate": { "$dateToString": { "format": "%Y-%m-%d", "date": "$ceatedAt" } }, "createdAtMonth": { "$month": "$ceatedAt" }, "rating": 1 } }, { "$group": { "_id": "$formattedDate", "average": { "$avg": "$rating" }, "month": { "$first": "$createdAtMonth" }, } } ] 并将其注册到图书馆的LibraryDependency,您的 ServiceLocator可以&如果将其添加到ViewModel构造函数,则解决依赖关系。

只需将所有需要的依赖项注册到(可执行的)主项目中的ServiceLocator容器。