gpt4 book ai didi

Xamarin Android 使用依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-02 01:23:42 25 4
gpt4 key购买 nike

我目前正在研究 DDD 层架构。我不确定如何在 Android 项目解决方案上使用依赖注入(inject)。目前我的 Android 解决方案包含对类库解决方案的引用。我在我的服务层上使用了 Unity,并通过 WebApiConfig.cs 注册了容器。
我的问题是,我如何在 Android 端使用 Unity 以便在启动时运行,如果包含代码将不胜感激。我不想通过 Android 的主要事件来更新容器。我希望容器在进程后面注册,即 AppStart 或 Global asax,它为 MVC 应用程序为您执行此操作。有没有办法为Android做到这一点?
我还注意到在 Main Activity 我无法创建构造函数。我想这是不可能的,但我该如何去持有对我的类库解决方案的对象引用?我试图做的例子:

private IExample _ex;

MainActivity(IExample ex){
_ex = ex; //depedency Injection rather than newing it up
}

public void DoSomething(){
_ex.HelloWorld();
}

同样对于我的每一层,我是否需要安装和创建容器才能解决当前的解决方案依赖性?或者我可以使用 android 的容器来解决每一层中的所有依赖关系,因为 DDD 从外部到内部?

最佳答案

老问题,但对于 future 的读者:

子类化应用程序类将完成您在启动时注册容器的操作。

[Application]
public class App : Application
{
public static UnityContainer Container { get; set; }

public App( IntPtr javaRef, JniHandleOwnership transfer ) : base( javaRef, transfer )
{

}

public override void OnCreate( )
{
base.OnCreate( );

Container = new UnityContainer( );

Container.RegisterType<ISomeService, ServiceImplementation>( );
}
}

应用类:
https://developer.xamarin.com/api/type/Android.App.Application/

这就是我现阶段所能提供的一切......我仍在使用 Unity 实现完整的 Xam.Android 解决方案,并且通常是依赖注入(inject)的新手。

关于Xamarin Android 使用依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38413311/

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