2010-04-23 30 views
0

Q1如果我有一個可用的可重用庫,它使用接口和使用getInstance概念創建具體類以供您使用的類,那麼在這種情況下,在客戶端使用IOC容器來創建這些類的實例是否有意義?還是真的應用了雙層抽象?如果我自己構建可重用的庫並希望客戶端使用IOC容器的情況下,那麼在我的可重用庫中,我將免除任何有工廠或「getInstance」方法實例化的開銷客戶端中的類? (即IOC容器不會這樣做?)我可以在使用第三方庫時使用IOC

回答

1

Q1。 getInstance你正在談論服務定位器的聲音,而不是依賴注入。如果是這樣的話,那麼是的,我會把它包裝在我選擇的IoC容器中。 Q2302。請參閱Dependency Inject (DI) "friendly" library

+0

因此,如果我假設用戶將使用IOC容器,那麼將沒有工廠需要正確嗎?因此,圖書館工作的客戶端應用程序,然後需要有一個使用構造器注入正確的IOC容器?但是,它配置的IOC具體方式是什麼?圖書館不會有一些IOC容器特定的配置將類連接在一起嗎?例如Ninject。或者,在圖書館安裝一個單獨的IOC容器是否會更好,因爲它是自給自足的(不完全確定這將如何工作)? – Greg 2010-04-24 02:02:21

+0

您需要爲您想要支持的每個容器提供一個「適配器」。例如。 Windsor設施,StructureMap註冊表,Ninject模塊等。 – 2010-04-24 15:49:16

相關問題