私は最近大規模なプロジェクトに参加しましたが、UnityとIOC / DIの経験はほとんどなく、Unityコンテナーで定義されたときにインスタンスがどのように作成されるかについての説明を探しています。
次のコードが与えられます。
//Unity構成
container.RegisterAsSingleton<IService, Service>();
//基本コントローラークラスの参照
private readonly IService _Service;
protected DefaultController(IService Service)
{
_Service = Service;
}
protected string UseService(string id)
{
return _Service.Method(id);
}
(MVCソリューションで)類似したものを使用してインスタンスを初期化する必要がありますか?
_Service = DependencyResolver.Current.GetService<IService>()
;
または、Serviceメソッドが最初に呼び出されたときにインスタンスが作成されますか?
_Service.Method(id);
必要に応じて、このコードを配置するのに最適な場所を見つけようとしています。