開發中,程序員在某個類中需要依賴其它類的方法,則通常是new一個依賴類再調用類實例的方法,這種開發存在的問題是new的類實例不好統一管理,特別當需要new的對象比較多,new時初始化復雜多變時,java里面spring提出了依賴注入的思想,即依賴類(需要調用對象new的類)不由程序員實例化,而是通過spring容器幫我們new指定實例并且將實例注入到需要該對象的類中。依賴注入的另一種說法是“控制反轉”,通俗的理解是:平常我們new一個實例,這個實例的控制權是我們程序員,而控制反轉是指new實例工作不由我們程序員來做而是交給spring容器來做,這樣就有效的分離了對象和它所需要的外部資源,使得它們松散耦合,有利于功能復用
這點和工廠方法的功能都是相同的
yii里面的依賴注入的使用:http://www.yiichina.com/tutorial/112