autofac文件 關係型別

2022-03-12 06:01:32 字數 1600 閱讀 2829

開始

registering components

控制範圍和生命週期

用模組結構化autofac

xml配置

與.net整合

深入理解autofac

指導關於

詞彙表autofac提供拆箱即用的關係型別。

autofac會對下面列出的關係型別特別解釋。下面列出的每一種關係型別,autofac都會在需要的時候提供一種預設實現。

比如說,當autofac會ienumerable型別的構造函式引數進行注入時,它不會尋找提供ienumerable的component,而是容器會找出所有的itasks實現然後全部注入。

(你可以顯示註冊這些型別的實現來覆蓋預設行為)

relationship

type

meaning

a needs b

bdependency

a needs b at some point in the future

lazy

delayed instantiation

a needs b until some point in the future

owned

controlled lifetime

a needs to create instances of b

func

dynamic instantiation

a provides parameters of types x and y to b

func

parameterisation

a needs all the kinds of b

ienumerable

enumeration

a needs to know x about b

metaand meta

metadata interrogation

a needs to choose b based on x

iindex

lookup

關係型別可以被組合使用,所以:

ienumerable>>
上面這行**將向下面這樣被解釋:

標準的型別組合

.net type

equivalent to

lazy

meta, m>

exportfactory

func>

exportfactory

meta>>

注意, exportfactory 型別包含在silverlight4中而不是.net中,所以還不被autofac支援

autofac中自定義的容器型別不會強迫你將程式緊緊的和autofac綁在一起。它們會為容器配置提供一種一致的程式設計模型,和你寫其他component一樣

例如,你仍然可以建立乙個自定義的itaskfactory ,但是如果有需要的話你可以提供基於 func實現的autofactaskfactory

autofac文件 事件

開始 registering components 控制範圍和生命週期 用模組結構化autofac xml配置 與.net整合 深入理解autofac 指導關於 詞彙表在component生命週期的不同階段使用事件。autofac暴露三個事件介面供例項的不同階段呼叫 這些事件會在註冊的時候被訂閱,或...

autofac文件 迴圈依賴

開始 registering components 控制範圍和生命週期 用模組結構化autofac xml配置 與.net整合 深入理解autofac 指導關於 詞彙表迴圈依賴是指執行期間物件之間的相互依賴 使用含有屬性依賴的類時,使用activated事件的injectunsetpropertie...

autofac文件 元資料

開始 registering components 控制範圍和生命週期 用模組結構化autofac xml配置 與.net整合 深入理解autofac 指導關於 詞彙表autofac提供機制去建立和使用component的元資料 如果你熟悉managed extensibility framewor...