我正在开发一个视频游戏平台,它是纯C#代码,我想使用Zenject进行依赖项注入。这个想法是,无论在何处使用该平台,都可以初始化其依赖项注入。我在平台上有这个课程:
public static class DIManager
{
private static DiContainer _container;
public static DiContainer Container {get => _container; set => _container = value; }
public static void Initialize ()
{
_container = new DiContainer ();
InstallBindings ();
}
private static void InstallBindings ()
{
_container.Install <AppInstaller> ();
}
}
创建并初始化平台中使用的容器,但是要在平台之外使用它,我总是必须调用:
_foo = DIManager.Container.TryResolve <Foo> ();
这是实现我想要的想法的正确方法吗?这样获得平台类的方式是否在性能方面是最优的?您的任何想法或建议都会受到欢迎,