代码之家  ›  专栏  ›  技术社区  ›  D. Zaraki

改进我的NinjectBootstrapper静态类。

  •  1
  • D. Zaraki  · 技术社区  · 7 年前

    这是我的密码

    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>();
         }
    
      }
    
    }
    

    我想在这里建立一个良好的基础,让未来的开发者能够轻松灵活地扩展功能。我可以考虑哪些好的建议和技巧?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Steven    7 年前

    我读过很多关于使用单例而不是静态类的东西。

    static 很好。

    NinjectBootstrapper 。您可以将其设置为实例类,但由于该类在启动时直接启动,因此不需要注入依赖项(显然,因为它是连接DI容器的东西),因此将其设置为实例类通常是无用的。