如果沒有依賴註入,類型之間的關系是硬編碼在程序中的。比如在某個地方寫了壹個新的SqlDBReader();那麽妳只能使用Sql數據讀取器,除非妳修改源代碼。如果使用依賴註入,則是CreateDBReader();//返回IDBReader接口實例。
CreateDBReader的方法是創建OLEDB讀取器還是Sql DB讀取器取決於它在類設置文件中的配置方式。
這樣,程序對DBReader類型的依賴在運行時通過配置文件註入到程序中,簡稱依賴註入。
車主可以研究壹下企業庫4.0中的Unity應用塊,就是為了實現這個功能。而依賴註入則是壹些開發框架提供的功能,需要壹段時間才能理解。
我覺得IOC和依賴註入是壹個東西,只是描述的角度不同,但是很多牛逼的人都說不壹樣。