Dot-Net
Unity IOC Buildup vs Resolve?
我想知道在使用 Unity IOC 時何時使用 buildup 以及何時使用 resolve。
我什麼時候叫拆解?
謝謝
當您希望 Unity 容器構造實例時使用 Resolve(當您需要它時創建一個新實例或預先存在的單例),注入其依賴項並將對對象的引用交給您。
當您已經擁有對象的實例並希望容器僅解析和注入其依賴項時,使用 BuildUp。
Teardown 與 BuildUp 相反。您可以將對像傳遞給容器的 Teardown 方法以關閉/清理/任何您想要的。現有的容器行為在 Teardown 時沒有任何作用,但可以編寫擴展來利用這一點。您還可以使您的對象實現 IDisposable,並且容器會在您的對象自行處理時呼叫 Dispose()。
IMyService service = container.Resolve<MyService>(); // New service or pre-existing singleton IMyService service = GetMyService(); // Get the instance from some source container.BuildUp(service); // Inject dependencies container.Teardown(service); // Clean-up