MvvmCross - 是否允许更改服务命名空间名称?

时间:2013-09-11 15:13:37

标签: xamarin mvvmcross

我不希望有一个KittensBg.Core.Services命名空间来放置数据库和相关的东西。因为“服务”一词也将用于KittensBg.Droid.Services(用于存储后台/服务类)。我可以改变吗?

我想将模型(KittenKittenShop类)移至KittenBg.Core.Model。并将KittenGenesisService移至KittensBg.Core.Messaging。可以吗? “服务”命名空间是否是MvvmCross中的硬编码要求?

最后一点,我不想用“服务”一词后缀所有那些“服务”类。在这种情况下,如何初始化Core以保持其依赖注入工作?

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

'Services'命名空间是MvvmCross中的硬编码要求吗?

不 - 它只是默认App.cs和我生成的示例中使用的名称。

有一篇维基文章可能会对此有所帮助 - 请参阅https://github.com/slodge/MvvmCross/wiki/Service-Location-and-Inversion-of-Control

这包括“Bulk Registration by Convention”部分,其中包括:

  

在此结束的名称选择 - 服务 - 以及使用懒惰单身人士的选择只是个人约定。如果您希望为对象使用其他名称或其他生命周期,则可以使用其他调用或多次调用替换此代码,例如:

    CreatableTypes()
        .EndingWith("SingleFeed")
        .AsInterfaces()
        .RegisterAsLazySingleton();
    CreatableTypes()
        .EndingWith("Generator")
        .AsInterfaces()
        .RegisterAsDynamic();
    CreatableTypes()
        .EndingWith("QuickSand")
        .AsInterfaces()
        .RegisterAsSingleton();