程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Autofac創建實例的方法總結[轉],autofac實例

Autofac創建實例的方法總結[轉],autofac實例

編輯:C#入門知識

Autofac創建實例的方法總結[轉],autofac實例


1、InstancePerDependency

對每一個依賴或每一次調用創建一個新的唯一的實例。這也是默認的創建實例的方式。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() gets a new, unique instance (default.)


2、InstancePerLifetimeScope

在一個生命周期域中,每一個依賴或調用創建一個單一的共享的實例,且每一個不同的生命周期域,實例是唯一的,不共享的。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a single ILifetimeScope gets the same, shared instance. Dependent components in different lifetime scopes will get different instances.


3、InstancePerMatchingLifetimeScope

在一個做標識的生命周期域中,每一個依賴或調用創建一個單一的共享的實例。打了標識了的生命周期域中的子標識域中可以共享父級域中的實例。若在整個繼承層次中沒有找到打標識的生命周期域,則會拋出異常:DependencyResolutionException。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. Dependent components in lifetime scopes that are children of the tagged scope will share the parent's instance. If no appropriately tagged scope can be found in the hierarchy an DependencyResolutionException is thrown.


4、InstancePerOwned

在一個生命周期域中所擁有的實例創建的生命周期中,每一個依賴組件或調用Resolve()方法創建一個單一的共享的實例,並且子生命周期域共享父生命周期域中的實例。若在繼承層級中沒有發現合適的擁有子實例的生命周期域,則拋出異常:DependencyResolutionException。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a ILifetimeScope created by an owned instance gets the same, shared instance. Dependent components in lifetime scopes that are children of the owned instance scope will share the parent's instance. If no appropriate owned instance scope can be found in the hierarchy an DependencyResolutionException is thrown.


5、SingleInstance

每一次依賴組件或調用Resolve()方法都會得到一個相同的共享的實例。其實就是單例模式。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() gets the same, shared instance.


6、InstancePerHttpRequest

在一次Http請求上下文中,共享一個組件實例。僅適用於asp.net mvc開發。

官方文檔解釋:Share one instance of the component within the context of a single HTTP request.

 

 

 

 

轉載自:http://blog.csdn.net/dhx20022889/article/details/9061483


autofacmvc4 怎使用




 

java中創建子類實例怎調用父類的覆蓋方法

Foible 朋友的說法不對。

B b=new B(); 這種方式,實際上是實例化了子類的對象,注意:內存中還是子類對象。
((A)b).m(); 表面上看起來是父類對象了,但是由於內存中是子類對象,所以調用的還是子類方法。

A b=new B();
b.m();
這種方法和你寫的實際是一個效果,雖然上溯造型到了父類,由於子類重寫了父類的方法,調用的還是子類的方法(也就是所:方法的實現,最後是在子類中實現的)。

所以,總結如下:
如果子類沒有重寫父類的方法,調用父類的方法的時候,實際上是去父類的內存中實現,可以調用父類方法。
如果子類重寫了父類的方法,那麼,你雖然上溯造型到了父類,由於內存還是子類,該方法的實現還是在子類,所以用實例化的對象是調用不到父類的,這種情況下,只能用super關鍵字。

用static的情況不討論的情況下不討論是這樣的,不知道到您是否不滿意,不滿意的話可以發消息繼續討論。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved