在我的Xamarin Forms项目中,我有以下架构:
一个便携式项目,处理常见的gui东西,并由每个移动平台项目继承。
Portable Common项目,处理所有逻辑内容并由每个移动平台项目继承。
我打算使用MVVM Light库和SimpleIOC。
现在问题,在我的便携式项目中使用常见的gui东西,我可以添加一个servicelocator(来处理所有的视图模型)到App.cs,这样就可以了。 但是我如何将它添加到公共项目中,以处理服务和其他逻辑内容?
答案 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
容器。