AOP(Aspect Oriented Programming,面向方面編程)

來源:互聯網
上載者:User
AOP是施樂公司帕洛阿爾托研究中心(Xerox PARC)在上世紀90年代發明的一種編程範式。由於軟體系統越來越複雜,大型的企業級應用越來越需要人們將核心業務與公用業務分離。AOP技術通過編寫橫切關注點的代碼,即“方面”,分離出通用的服務以形成統一的功能架構。它能夠將應用程式中的商業邏輯同對其提供支援的泛型服務進行分離,使得開發人員從重複解決泛型服務的勞動中解脫出來,而僅專註於企業的核心商業邏輯。
AOP實際是GoF設計模式的延續,設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,AOP可以說也是這種目標的一種實現。它可以解決OOP和過程化方法不能夠很好解決的橫切(crosscut)問題,如:事務、安全、日誌等橫切關注。當未來系統變得越來越複雜,橫切關注點就成為一個大問題的時候,AOP就可以很輕鬆的解決橫切關注點這個問題。
通常,為滿足整個公司專屬應用程式某方面得需求,開發人員(架構師)需要整理出系統得關注點。形象地描述了關注點,它能夠從AOP Aspect角度看待系統。比如,持久化、日誌、應用的商務邏輯通常被認為是應用需要解決的問題。因此,他們通常作為關注點看待。從整個系統角度考慮,它往往是由大量的關注點構成的。

通常,我們可以在如下情景中使用AOP技術:
Authentication(許可權)
Caching(緩衝)
Context passing(內容傳遞)
Error handling(錯誤處理)
Lazy loading(懶載入)
Debugging(調試)
logging, tracing, profiling and monitoring(記錄跟蹤,最佳化,校準)
Performance optimization(效能最佳化)
Persistence(持久化)
Resource pooling(資源集區)
Synchronization(同步)
Transactions(事務)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.