程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 關於AOP的理解,AOP

關於AOP的理解,AOP

編輯:JAVA綜合教程

關於AOP的理解,AOP


AOP,面向切面編程,在看傳智視頻的時候,看到一個很好的理解,一個很好的AOP的例子,試詳解之。

 

最優例子:權限控制。

在權限控制中,比較原始的做法(不原始的做法我也不會)是,對每個需要控制權限的地方,通過if來判斷人員的權限,而後給予或不給某權限。如:

而這個過程中,對每一個按鈕、頁面或者其他元素,一旦需要授權,則需要進行一番這樣的判斷,這個判斷的過程明顯的是代碼重復。因此有必要將if判斷分離出來,我們只有專心的做好 do xxx 的部分就好了。

把 if判斷分離出來的過程,就是一種AOP的體現。

java對AOP的抽取,采用了代理(proxy)的方法來進行。簡單的說,就是設置一個代理對象,對所有的業務方法進行攔截,而後判斷用戶是否有權限訪問,有權限的話就允許執行業務方法,否則就不允許執行業務方法。

也即:將目標對象的所有業務實現方法都賦予代理對象,這樣,只需要給代理對象做操作即可,而不用在目標對象身上進行冗余的代碼。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved