現在 DI Framework 採用幾種方式簡化你提到的問題
1. 依型態、名稱等,去自動注入 instance,例如 Spring, Groovy
2. 用目錄規則或是類別名稱做自動注入
不好意思,對 java 比較熟,只能舉 java 類的例子
※ 引述《lovesnake (LoyalDog)》之銘言:
: 使用語言 : C++11
: 翻了一個星期關於IoC的東西,還是搞不太懂。
: 我的理解如下 :
: IoC : 讓物件相依於介面而不相依於物件
: DI Framework : 解決上述缺點
: 問題來了...
: 看了幾個DI Framework
: Boost的Injector要User自己寫
: Unity的Configuration也是User自己寫...
: 這樣使用者還是不知道要注入哪個Imp...
: 於是頭很痛,怎麼樣讓用了IoC後的API用起來跟沒有一樣呢?
: 讓使用者完全不用煩惱到底要注入哪個Imp呢?
: 目前比較能接受的事Factory,可還是覺得很奇怪,有點不太直覺
: (Factory.GetImp("normal"); Factory.GetImp("testing");) ??
: 請指教 <(_ _)>