怎麼切才能切得好

自己正在寫一個輕量的AOP工具,目的就是在沒有Spring或者其他AOP框架的情況下也能得到AOP服務。原理當然是基於Java的動態代理,但是大家都知道這個要運作起來的前提是需要有Interface,也就是需要被增強(無論是前置後置還是環繞性的)的方法必須是在一個接口中申明瞭的。
這樣問題就來了,如果我要對我的領域模型對象的方法進行增強,我就需要爲這些對象重新寫接口(在領域建模的時候我沒有寫接口的),這樣的話好像違反了POJO原理,而且感覺爲每一個業務對象寫接口好像本末倒置了(正常情況下應該是規定好了接口,然後才實現之)。是不是應該切在Action層而不是Service層纔對?
不知道Spring中是怎麼實現的,請了解的朋友說明一下


另外一個問題,不知道有沒有人採用aopalliance來寫aop
其中MethodInvocation中的proceed()方法是將處理向下發送到下一個MethodInterceptor,但是API中並沒有給出如果將MethodInterceptor的集合跟MethodInvocation關聯(或者叫註冊)的方法,一個MethodInvocation如果知道這個切入點上有哪些增強處理或者下一個增強是誰呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章