.NET平臺上插拔姿式的AOP

AOP概述

AOP技術的誕生並不算晚,早在1990年開始,來自Xerox Palo Alto Research Lab(即PARC)的研究人員就對面向對象思想的侷限性進行了分析。他們研究出了一種新的編程思想,藉助這一思想或許能夠經過減小代碼重複模塊從而幫助開發人員提升工做效率。隨着研究的逐漸深刻,AOP也逐漸發展成一套完整的程序設計思想,各類應用AOP的技術也應運而生。html

AOP技術在Java平臺下是最早獲得應用的。就在PARC對於面向方面編程進行研究的同時,美國Northeastern University的博士生Cristina Lopes和其同事也開始了相似的思考。最終,美國國防先進技術研究計劃署(Defense Advanced Research Projects Agency即DARPA)注意到了這項工做,並提供了科研經費,鼓勵將兩者的工做成果結合起來。他們經過定義一套Java語言的擴展系統,使開發者能夠方便的進行面向方面的開發,這套擴展系統被稱爲AspectJ。以後,AspectJ在2002年被轉讓給Eclipse Foundation,從而成爲在開源社區中AOP技術的先鋒,也是目前最爲流行的AOP工具。git

 

AOP(Aspect-Oriented Programming,面向切面的編程),它是能夠經過預編譯方式和運行期動態代理實如今不修改源代碼的狀況下給程序動態統一添加功能的一種技術。它是一種新的方法論,它是對傳統OOP編程的一種補充。OOP是關注將需求功能劃分爲不一樣的而且相對獨立,封裝良好的類,並讓它們有着屬於本身的行爲,依靠繼承和多態等來定義彼此的關係;AOP是但願可以將通用需求功能從不相關的類當中分離出來,可以使得不少類共享一個行爲,一旦發生變化,沒必要修改不少類,而只須要修改這個行爲便可。AOP是使用切面(aspect)將橫切關注點模塊化,OOP是使用類將狀態和行爲模塊化。在OOP的世界中,程序都是經過類和接口組織的,使用它們實現程序的核心業務邏輯是十分合適。可是對於實現橫切關注點(跨越應用程序多個模塊的功能需求)則十分吃力,好比日誌記錄,權限驗證,異常攔截等。github

 

Spring.NET 中的 AOP

通知(Advice): 通知描述了切面要完成的任務,同時還描述了什麼時候執行這個任務。編程

鏈接點(Joinpoint):  程序中應用通知的地方稱爲鏈接點,這個點能夠是方法被調用時,異常拋出時,甚至訪問屬性的時候。模塊化

切入點(Pointcut): 切入點定義通知切入的一個或者多個鏈接點。wordpress

切面(Aspect): 切面就是通知和切入點的結合。通知和切入點共同定義了切面的所有內容:功能、時機、位置。工具

引入(Introduction): 容許咱們想現有類中增長屬性和方法.post

目標(Target): 被通知的對象url

代理(Porxy): 向目標對象增長通知以後,建立的對象,由這個對象來訪問實際的目標對象。spa

織入(Weaving): 被切面應用到目標對象來建立新的代理對象的過程。

 

配置型 ?  no,這不是我須要的太麻煩了。對於新手瞬間懵逼了好嗎?

 

PostSharp 

 

 

傳送地址 ->>>>>>>>>>>>>>>  http://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html

 

咱們看這個AOP , 發現挺適合的......最後MDZZ,收費.收費的,收費的搞毛線啊~~~~~

 

推薦新手的AOP

TM逗我? just like PostSharp, but free as in free beer :和PostSharp 同樣,但勝在免費。是否是愛上我了?嘿嘿,愛上做者去吧。

 

Nuget:上安裝這個,看清楚了呀,等會又來講,誒喲,樓主MDZZ不行啊!

 

示列:

開源地址----沒看錯,做者開源了

 

 

感受屬性不夠 ?  進階者的AOP --做者也開源了^.^

 

SheepAspect : SAQL尋找方法規則

相關文章
相關標籤/搜索