这是我的密码
public static class NinjectBootstrapper { private static readonly object _thislock = new object(); //flag to prevent bootstrap for executing multiple times private static bool _done; public static void Bootstrap() { lock(_thislock) { if(_done) { return; } _done = true; // services NinjectContainer.Kernel.Bind<IProductService>().To<ProductService>(); // repositories NinjectContainer.Kernel.Bind<IProductRepository>().To<ProductRepository>(); } } }
我想在这里建立一个良好的基础,让未来的开发者能够轻松灵活地扩展功能。我可以考虑哪些好的建议和技巧?
我读过很多关于使用单例而不是静态类的东西。
static 很好。
static
NinjectBootstrapper 。您可以将其设置为实例类,但由于该类在启动时直接启动,因此不需要注入依赖项(显然,因为它是连接DI容器的东西),因此将其设置为实例类通常是无用的。
NinjectBootstrapper