面向方面編程的問答

  1. 面向方面編程是什麼
  2. AOP技術、特性、程序設計、優勢是什麼

 

1.面向方面編程是什麼

答:將傳統的按功能或按對象換分程序模塊的方法轉化爲按系統特徵劃分程序模塊就是AOP的基本思想。面向方面編程是解決代碼分散問題的,通過設計一個捕獲應用程序橫切面功能的結構來提前避免掉代碼分散的現象。

橫切功能有切入點和通知代碼兩部分組成,一個二方面只允許整合一個貫穿程序的功能到程序中,這個功能利用一個專門的API執行。AOP是面向服務開發的一種有效處理方式,同時面向方面開發對服務的控制和約束更加清楚。

 

2.AOP技術、特性、程序設計、優勢是什麼

答:AOP技術將與業務無關卻被業務模塊所共同調用的邏輯或責任封裝起來,減少系統重複代碼降低系統耦合度,利於可操作性和可維護性。AOP代表了一種橫向的關係。AOP把系統分爲兩個部分,核心關注點和橫切關注點,業務處理主要關注核心關注點,其餘的部分是橫切關注點。AOP的核心思想是將應用程序中商業邏輯同對其提供支持的通用服務進行分離。實現AOP技術有兩大類,動態代理技術,利用截取消息的方式對消息進行裝飾,取代原有對象行爲的執行;靜態織入方式,引入特定的語法創建方面,是編譯器可以在編譯期間織入有關方面的代碼。連接點、切入點、通知、方面、引入等這些特性組成了基本的AOP技術,也是研究AOP技術的基本術語。

AOP特性是可擴展性、可重用性、易理解性和易維護性。

基於AOP的引用程序結構與傳統高級語言的應用程序結構基本類似。AOP應用程序包括三個主要開發步驟:將系統需求進行功能性分解 ,區分普通關注點和橫切關注點,確定需要用aspect形式的功能有哪些;單獨完成每一個關注點的編碼和實現,構造系統組件和系統aspect;用聯接器指定的重組規則將組件代碼和aspect代碼組合,形成最終系統。

AOP提供了觀測和分析系統的新視角,同時可以提高系統的可維護性。AOP屬於新特性,這種新特性帶來了質量和風險上的問題,例如測試方法改進、檢測機制變動等。

AOP是一種概念,不同的技術可以有不同的實現,如AspectJ、Spring AOP、JBossAOP等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章