IoC—Inversion of Control进胯,控制反轉(zhuǎn)
DI—Dependency Injection媒至,依賴注入
AOP--Aspect Oriented Programming面向切片編程
IOC容器和依賴反轉(zhuǎn)模式
依賴控制反轉(zhuǎn)的實(shí)現(xiàn)
如果合作對(duì)象的引用或依賴關(guān)系的管理要由具體對(duì)象來(lái)完成掖棉,會(huì)導(dǎo)致代碼的高度耦合和可測(cè)試性降低仍翰。
這些依賴關(guān)系可以通過(guò)把對(duì)象的依賴注入交給框架或IOC容器來(lái)完成冯凹。
在Spring中吉嚣,IoC容器是實(shí)現(xiàn)依賴反轉(zhuǎn)模式的載體梢薪,在對(duì)象生成或初始化時(shí)直接將數(shù)據(jù)注入到對(duì)象中,也可以通過(guò)將對(duì)象引用注入到對(duì)象數(shù)據(jù)域中的方式來(lái)注入對(duì)方法調(diào)用的依賴尝哆。它把對(duì)象的依賴關(guān)系有序地建立起來(lái)秉撇,簡(jiǎn)化了對(duì)象依賴關(guān)系的管理。
如何反轉(zhuǎn)對(duì)依賴的控制秋泄?
應(yīng)用控制反轉(zhuǎn)后琐馆,當(dāng)對(duì)象被創(chuàng)建時(shí),由一個(gè)調(diào)控系統(tǒng)內(nèi)的所有對(duì)象的外界實(shí)體將其所依賴的對(duì)象的應(yīng)用傳遞給它恒序。也就是說(shuō)瘦麸,依賴被注入到對(duì)象中,所以歧胁,控制反轉(zhuǎn)是關(guān)于一個(gè)對(duì)象如何獲取它所依賴的對(duì)象的應(yīng)用的滋饲,反轉(zhuǎn)是指責(zé)任的反轉(zhuǎn)彤敛。
可以把在面向?qū)ο缶幊讨谐3?zhí)行的新建對(duì)象,給對(duì)象引用賦值等操作由容器統(tǒng)一完成了赌。
在很多情況下墨榄,由很大一部分對(duì)象是用來(lái)處理數(shù)據(jù)的,這部分對(duì)象不會(huì)經(jīng)常變化勿她,在系統(tǒng)中以單件的形式存在就可以滿足應(yīng)用的需求袄秩,不涉及數(shù)據(jù)、狀態(tài)共享的問題逢并。對(duì)象的相互依賴關(guān)系比較穩(wěn)定之剧,不會(huì)隨著應(yīng)用的運(yùn)行狀態(tài)的改變而改變。