Autofac筆記6-Resolve時依參數傳回不同型別 2017-01-19 09:49 PM 0 6,995 好久沒寫 Autofac 筆記,記錄一則最近遇到的小需求。系統中針對介面(例如:IBlah)實作了多個型別,Resolve<IBlah>() 時希望透過參數指定傳回不同型別。 依據官方文件,實現這類需求的最簡單做法是使用 Named Service(具名服務)或 Keyed Ser...
Autofac筆記5-屬性注入 2013-11-09 08:17 AM 0 18,419 前面談過傳入建構參數,但並非所有物件參數都可由建構式傳入,有些要透過屬性指定(例如: new MyObject() { SomeProperty = SomeValue };),而這也是IoC/DI的工作職掌之一,專業術語叫Property Injection(屬性注入)。 解說前先介紹幾個測...
Autofac筆記4-建構參數與建構式選擇 2013-11-04 10:36 PM 4 11,133 在先前的範例(1 2),透過Resolve<T>()建立的物件都只有單一建構式且不需建構參數,如果有多個建構式或建構時需要建構參數時,Autofac會如何處理? 當類別有多個建構式時,Autofac會依"能符合最多個容器提供參數的建構式優先"做為選擇依據。其英文原...
Autofac筆記3-關於Lifetime Scope 2013-11-03 04:13 PM 0 17,292 在使用IoC設計模式時,有一個有點難懂卻不能迴避的問題 -- 如何妥善管理物件生命週期,避免記憶體洩漏(Memory Leak)? 要了解此議題,先大推一篇關於Autofac物件生命週期的經典文章,其中有頗詳細的闡述,這篇筆記只簡短摘要我實際應用的心得,關於完整說明推薦大家參考原文。 問題從...
Autofac筆記2-淺談Singleton 2013-11-02 11:20 PM 0 13,417 開始前先聲明(坦白從寬~),我對Design Pattern的研究十分淺薄,寫起IoC、Singleton的題材有種越級打怪的心虛感,我知道本部落格有不少讀者深諳此道,如筆記有疑或有誤之處,懇請十方大德不吝指正。 Singleton是挺常見的設計模式,旨在確保該型別於Process中只會產生單...
Autofac筆記 1 2011-06-07 07:29 AM 0 58,801 決定在專案引進IoC,端午假期在網路上划龍舟,做了些研究。忘性愈來愈大,故筆記不可少,就順便跟大家分享。(對於IoC,我仍在初學摸索階段,諸位先進如發現有誤入歧途之處,還請指正) 【IoC?】 IoC是什麼? DI又是什麼? 很多.NET領域的老師及同學已深入研究並有專文介紹,此處不再班門弄...