2011-08-26 39 views
1

我想知道什麼是我可以擴展現有功能(可能通過使用AOP或註釋)的最佳方式。我正在尋找的場景是。使用AOP或註解擴展服務功能

我們有一個服務表示DisableEmployee,它使用實體Employee來做一些驗證,然後禁用對員工的訪問。 對於某些客戶,我想擴展這個功能,其中DisableEmployee不僅禁用訪問,但也施加一些懲罰點。

一種方法是擴展基類,然後添加附加功能。

是否有可能(或建議)在這裏使用AOP和註釋;在我註釋我的DisableEmployee的地方,然後在編譯時我將附加代碼編織到類中。 (使用方面)我已經讀過關於APT和Velocity的內容,它應該能夠幫助我實現它。 我在看APT的原因是因爲我們可能需要擴展實體類以添加一些新的屬性。

有這種做法的想法是,看看我們是否能夠服務擴展爲交叉功能的形式進行分類(如傳統的日誌,審計....)

在此先感謝

+0

我現在才知道Constantiner增加了「aspectj」標籤。從邏輯上說,這種添加是不正確的,因爲AspectJ在其他許多方面只是AOP的實現。但實際上我同意他的選擇(請參閱我的答案)。 – alehro

回答

0

你問題太籠統,無法得到可靠的答案。但目前我看不到任何在AspectJ中無法實現的東西。