1. 程式人生 > >面向切面編程 AOP 和裝飾器??

面向切面編程 AOP 和裝飾器??

編程 style 我們 作用 對象 功能 重復 著名 控制

1、AOP概念:面向切面編程,指擴展功能不修改源代碼,將功能代碼從業務邏輯代碼中分離出來。

主要功能:日誌記錄,性能統計,安全控制,事務處理,異常處理等等。

主要意圖:將日誌記錄,性能統計,安全控制,事務處理,異常處理等代碼從業務邏輯代碼中劃分出來,通過對這些行為的分離,我們希望可以將它們獨立到非指導業務邏輯的方法中,進而改變這些行為的時候不影響業務邏輯的代碼。

2、AOP特點:采用橫向抽取機制,取代了傳統縱向繼承體系重復性代碼。

裝飾器是一個很著名的設計模式,經常被用於有切面需求的場景,較為經典的有 插入日誌、性能測試、事務處理等。裝飾器是解決這類問題的絕佳設計,有了裝 飾器,我們就可以抽離出大量函數中與函數功能本身無關的雷同代碼並繼續重用。 概括的講,裝飾器的作用就是為已經存在的對象添加額外的功能。

面向切面編程 AOP 和裝飾器??