為什麼要使用AOP

2021-07-25 20:50:48 字數 720 閱讀 4995

首先,按照軟體重構思想的理念,如果多個類中出現相同的**,應該考慮定義乙個共同的抽象類,將這些相同的**提取到抽象類當中去。比如horse、pig、camel這些物件都有run()、eat()方法,通過引入乙個包含這兩個方法抽象的animal父類,horse、pig、camel就可以通過整合animal復用到run()和eat()方法。通過引入父類消除多個類中的重複**的方式在大多數情況下是可行的,但世界並非永遠這麼簡單,比如下面所示的景區管理業務類。

import com.smart.dao.viewspacedao;

import com.smart.domain.viewspace;

/** * 景區管理的服務類

*/public class viewspaceservice

/*** 刪除某個景點

** @param pointid

*/public void deleteviewpoint(int pointid)

}其中pmonitor是方法效能監視**,它在方法呼叫前啟動,在方法呼叫返回前結束,並在內部記錄效能監視的結果資訊。

其中transmanager的**是事務開始和事務提交的**,我們發現我們的業務**淹沒在重複化非業務性的**之中,效能監視和事務管理這些非業務性**葛藤纏樹搬包圍著業務性**。

此時我們就不能通過抽象父類的方式消除以上的重複性**,因為這些邏輯依附在業務類方法的流程中,它們不能夠轉移到其他地方去。於是產生了aop這種思想。

為什麼要使用blog

有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...

為什麼要使用XML

xml 代表擴充套件標記語言 extensible markup language 是由 world wide web consortium w 3c 的 xml工作組定義的。這個工作組是這樣描述該語言的 擴充套件標記語言 xml 是 sgml 的子集,其目標是允許普通的 sgml 在web 上以目...

為什麼要使用Nginx?

有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...