Spring學習總結2(AOP-代理模式)

 

面向方面的編程簡單例子:

對於做菜這一件事,大概分爲3步驟:洗菜,炒菜,上菜。而我們比較關注與比較關鍵的步驟是炒菜。而洗菜和上菜是不關注的步驟但是又是必不可少的步驟。要做好一個菜,我們請大廚來炒菜,但洗菜和上菜會讓其他服務員來做,這樣做的目的是節省資源,能讓大廚炒更多的菜。面向方面的編程即是 對於  洗菜--->炒菜---->上菜 這一個連貫的流程,把它切開來,我們只關注炒菜這一個實現,其他的兩個實現使用代理,這就是面向方面的精髓。

 

代理模式的簡單實現:

做菜接口

 

 炒菜類只實現了做菜接口的炒菜關鍵實現

 

代理類該接口實現了做菜的其他步驟,並且調用了炒菜類,將整個流程串聯了起來

 

當需要做菜時,只需

實例化一個代理類,將炒菜類傳入即可。

Subject sub = new ProxySubject(new RealSubject()) ;
sub.request() ;

 

運用Spring實現簡單的代理

做菜接口

 

 炒菜類只實現了做菜接口的炒菜關鍵實現

 

通過實現Spring的MethodBeforeAdvice接口來實現洗菜

 

通過實現Spring的AfterReturningAdvice接口來實現上菜

 

在Spring配置中進行配置

 

調用做菜時:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章