當我在我正在進行的項目中對Ninject進行拍攝時,我最近碰到了一堵磚牆。靜態依賴注入工廠,對還是錯?
我已經經歷了各種各樣的問題,系統地提出了我的設計和架構以支持依賴注入。
Is this right to inject the container/kernel to the main application presenter?
How to configure Ninject to use along with NHibernate in WinForms?
Conditional dependency injection binding only when property not null
What did I get wrong, DI or Design, and how should I go about it?
小時後,和小時,海小時在我看來,這篇文章來自Justin Etheredge,他講述了他的靜態DIFactory課程。
我現在不知道,是不是使用靜態DI工廠做事情的工作像變魔術?
我想聽聽在實際應用中使用靜態DI工廠的優缺點。
另外,IoC和DI是否相同,還是非常相似,但有些區別?
如果某些類型無法在應用程序啓動時實例化,那麼該怎麼辦?因爲它們需要用戶憑證才能正確實例化?例如,'NHibernante.ISessionFactory'就是這樣的問題,因爲它不能在沒有正確的連接字符串的情況下實例化,並且一旦創建,它就不會讓連接字符串改變。作爲一種解決方法,可以提供'IDbConnection',並丟失在整個ISession生命週期中保存對象蹤跡的二級緩存。然後需要用戶提供他的證書,現在'ISessionFactory'依賴不再是一個問題。 –
它會是一個'AbstractFactory',它可以讓新的類型被註冊?你會怎麼做呢? –
如果在運行時無法解析子圖,則始終可以添加另一個間接層。抽象工廠將是一種選擇。這裏有更多關於[實現抽象工廠]的信息(http://blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory)。 –