我一直在關注Daniel Cazzulino's系列約building a DI container using TDD。在part five of the series中,他添加了對容器層次結構的支持,但沒有對該功能的用途進行評論。我已經在很多DI框架中看到提及對層次結構的支持,但是我很難理解何時使用它們以及爲什麼。有人可以提供一些見解嗎?
我在我的業務邏輯層中有一個接受流的方法,它在GUI中來自用戶上傳文件,我對哪種測試適當地測試方法感興趣使用這個流來做出決定。 public Sub Initialize(ByVal uploadStream As Stream)
''// Logic using uploadStream
End Sub
爲了測試的目的,我希望DI可以將模擬流應用到這種方法中,但是我發現每當使用流時
我有一個統一容器,並使用RegisterType註冊以下存儲庫和實施者使用ContainerControlledLifetimeManager。 public interface IPersonRepository
{
Person GetByID(ObjectSpace objectSpace, int id);
}
使用這個模式我可以有多個線程(這是一個Web應用程序)使用相