NinjectBootstrapperクラスは、サービスプロジェクト(製品の取得を担当)で作成されています。 これは、これは動作しますが、私は本当に私のコードをリファクタリングするためのより良い方法があるかどうかを知りたいと思い、今、私のコード私のNinjectBootstrapper静的クラスを改善する。
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>();
}
}
}
です。たとえば、私は静的クラスの代わりにシングルトンを使うことについてたくさんのことを読んできました。 将来の開発者が機能を拡張するために、それを簡単かつ柔軟にするために、ここに良い基礎を置いておきたいと思います。私が考慮に入れることができる良い指針とヒントは何ですか?
説明のためにああありがとう。実際に起動時にこれが使用されていることは事実です。ご説明をいただき、ありがとうございます。私はコードをそのまま残します。 –