Spring的AOP是什么?如何使用AOP?其實(shí)這些困擾都可以總結(jié)成一個問題,即AOP怎么用?其實(shí)要解決這個問題也不難,下面我們一起來看看AOP的使用方法。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供婺城網(wǎng)站建設(shè)、婺城做網(wǎng)站、婺城網(wǎng)站設(shè)計、婺城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、婺城企業(yè)網(wǎng)站模板建站服務(wù),10年婺城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
AOP在百度百科的解釋意為:面向切面編程,通過預(yù)編譯方式和運(yùn)行期間動態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。AOP是OOP的延續(xù),是軟件開發(fā)中的一個熱點(diǎn),也是Spring框架中的一個重要內(nèi)容,是函數(shù)式編程的一種衍生范型。利用AOP可以對業(yè)務(wù)邏輯的各個部分進(jìn)行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時提高了開發(fā)的效率。
第一部分:什么是AOP
AOP: Aspect oriented Programming ?向切?編程/?向??編程
AOP是OOP(面向?qū)ο缶幊?的延續(xù),從OOP說起
OOP三?特征:封裝、繼承和多態(tài)
oop是?種垂直繼承體系
示例如下:我有3個類分別為Horse,Pig,Dog。3個類里面都有共同的方法,eat()和run(),那每個類里都有共同的代碼,為了代碼的重復(fù),我們可以把這3個類里共有的部分提取出來,放到另外一個類里,3個類分別繼承這個新類,這是這3個類的代碼就減少了很多重復(fù)的代碼,最后變成這樣
OOP編程思想可以解決?多數(shù)的代碼重復(fù)問題,但是有?些情況是處理不了的,?如下?的在頂級?類Animal中的多個?法中相同位置出現(xiàn)了重復(fù)代碼,OOP就解決不了
橫切邏輯代碼
橫切邏輯代碼存在什么問題:
AOP出場,AOP獨(dú)辟蹊徑提出橫向抽取機(jī)制,將橫切邏輯代碼和業(yè)務(wù)邏輯代碼分析
這里要說明下,不同樣式的格子代表不同的業(yè)務(wù)邏輯方法,這樣能更好的區(qū)分和解釋Aop的作業(yè)
代碼拆分容易,那么如何在不改變原有業(yè)務(wù)邏輯的情況下,悄?聲息的把橫切邏輯代碼應(yīng)?到原有的業(yè)務(wù)邏輯中,達(dá)到和原來?樣的效果,這個是?較難的
看完上述內(nèi)容,你們對Spring的AOP有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!