IOC:
控制反轉(zhuǎn),什么為控制反轉(zhuǎn)对蒲?要反轉(zhuǎn)的是什么,反轉(zhuǎn)的是角色贡翘。在傳統(tǒng)代碼中如果A類(lèi)依賴(lài)B類(lèi)蹈矮,A類(lèi)需要到B類(lèi)才能完成自身功能。于是主動(dòng)權(quán)在A身上鸣驱,A可以自己new一個(gè)B類(lèi)對(duì)象泛鸟,也可以從工廠中獲取,總之:A需要自己來(lái)獲取B,并且需要知道獲取的方法踊东。
而控制反轉(zhuǎn)轉(zhuǎn)變了這一“主動(dòng)”北滥,可以理解為現(xiàn)在A類(lèi)只是躺在原地刚操,等待別人給他B對(duì)象,這樣A就能使用B對(duì)象了再芋。
DI:
依賴(lài)注入菊霜,個(gè)人理解為實(shí)現(xiàn)控制反轉(zhuǎn)的方法,由于A依賴(lài)B济赎,所以A要完成自身功能必定需要到B對(duì)象鉴逞,而這個(gè)B對(duì)象怎么來(lái)呢,現(xiàn)在不是自己去獲取司训,而是由spring容器給予(注入了b依賴(lài))构捡。
AOP:
面向切面編程。
核心關(guān)注點(diǎn)和橫切關(guān)注點(diǎn)豁遭,OOP面向?qū)ο缶幊讨邪认玻诵年P(guān)注點(diǎn)為業(yè)務(wù)處理的主要流程,而橫切關(guān)注點(diǎn)為次要但由橫穿許多核心關(guān)注點(diǎn)的流程蓖谢,例如檢驗(yàn)捂蕴,過(guò)濾,日志等闪幽,在AOP中成為切面啥辨。
AOP通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)了擴(kuò)展性高,低耦合的面向切面編程盯腌。