java框架之AOP框架

發表于:2008-05-05來源:作者:點擊數: 標簽:框架javaJAVAJavaAOP
關鍵字:aop 一般情況下,對象是由一行行的代碼“粘合”在一起的。創建這個對象。創建那個對象。為那個對象(其值為這個對象)設置屬性。其間還點綴著一些用戶數據。將一切攪拌在一起。這是現代 程序員 在進行設計和編碼時經常做的事情。 將多個這樣的類組合
關鍵字:aop

    一般情況下,對象是由一行行的代碼“粘合”在一起的。創建這個對象。創建那個對象。為那個對象(其值為這個對象)設置屬性。其間還點綴著一些用戶數據。將一切攪拌在一起。這是現代程序員在進行設計和編碼時經常做的事情。
      將多個這樣的類組合起來形成具有一定功能的組件,而很多這樣的組件以這種方式連接起來會出現這樣的問題:要實現不同的方法時,需要花費大量時間編寫同樣的代碼。這些代碼行中往往會有以下操作:將這個方法的活動記錄日志到一個文件中以備調試,運行安全性檢查,啟動一個事務,打開一個數據庫連接,記住捕捉 C++ 異?;蛘?Win32 結構化異常以轉換為 COM 異常,還要驗證參數。而且,還要切記在方法執行完之后銷毀方法開始時的設置。還有很多的事務機制、安全機制以及對象池或線程池等性能優化機制。
       這種重復代碼經常出現的原因在于,開發人員被訓練為根據軟件項目需求中的名詞來設計系統。如果設計的是銀行系統,Aclearcase/" target="_blank" >ccount類和Customer 類必不可少,它們都將自己獨特的詳細信息收集到一處,但是它們的每個方法也都需要進行日志、安全檢查、事務管理等操作。區別在于,日志等操作是一些與特定應用無關的系統方面。
      這些功能機制是每個應用系統幾乎都需要的,因此可以從具體應用系統中分離出來,形成一個通用的框架平臺,而且,這些功能機制的設計開發有一定難度,同時運行的穩定性和快速性都非常重要,必須經過長時間調試和運行經驗積累而成。

    這樣,我們已經有了一種分散關注的思路(separation of concerns)。
       將通用需求功能從不相關類之中分離出來;同時,能夠使得很多類共享一個行為,一旦行為發生變化,不必修改很多類,只要修改這個行為就可以。這就是分散關注(separation of concerns)。
  

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97