確定這個問題從來沒有被問過在網絡上,所以在這裏: 我正在學習Java(初學者 - 中級水平),並且我決定嘗試使用面向方面的編程繼續上課。面向方面編程在Java中沒有AspectJ?
現在這個東西應該很容易學習(至少這是網絡共識) 如此之多以至於「方面」被認爲是標準類的稍微修改版本,所以我的問題是:如果方面基本上都是類,
爲什麼我們必須安裝AspectJ才能在Java中執行AOP?
因爲這只是增加了一層額外的複雜性,使得概念更難掌握。
我想要的是能夠在不使用AspectJ(或任何其他附加組件)的情況下編寫一個方面,換句話說,我想只使用BASIC Java &的標準Java類來執行AOP。是否有可能,如果是這樣,我該如何寫這些類?
當然可以。你甚至不需要另一個框架(比如Spring AOP)。在時間的考驗中,AspectJ未能取得成功。例如,屬性+反射可以成爲框架AOP的一種方法。 –
是一個很好的問題..我們可以編寫反射類型的代碼,並使用正則表達式來調用基於指令的方法,如之前,之後和周圍..我們可以解決它,但需要多一點時間.. –
alrite謝謝你們。看起來像我有一個平行的方式去,因爲反思等(與內省有關)是暫時超出我的範圍。大聲笑 我想問問我的問題的另一種方式是,如何將一個(簡單的)AspectJ編碼的程序轉換爲一個純粹的純Java程序,儘可能少的修改? – user3578836