2010-03-17 46 views
0

我是新手,經常與Spring合作,所以我有一個基本的設計問題。在Spring for Business中使用攔截器邏輯問題

應該使用攔截器的概念來分離出應用程序中的業務邏輯。例如。從3個類中調用getData方法/在達到數據之前,3個方法中的一個需要更多的處理。這個處理並不像記錄等,這似乎更多地用於攔截器的例子中(我純粹基於我對Manning書的有限閱讀),而是一個適當的應用程序業務邏輯。

我應該在這裏使用攔截器嗎?如果使用攔截器,或者應該使用重寫?

這一直是我的一般好奇心,要知道攔截器是否僅對框架級別問題有意義?

回答

1

由於您的自定義邏輯執行將取決於調用者,而不是調用的方法,所以使用攔截器確實是一個奇怪的選擇。

不知道關於您的具體情況的細節,我建議添加另一個方法來執行額外的邏輯,並調用它。如果你在相同的接口上調用3次相同的方法,但有3個底層實現,只需在其中一個底層實現中追加附加代碼即可。

1

假設這是Spring MVC,攔截器是一種快速而簡單的方法,可以在全局(或一組頁面)上應用相同的邏輯,而無需混淆各個控制器。

如果你有3個組件需要在一個類中調用同一個方法,但其中的一個組件需要方法來做一些不同的事情,聽起來好像你應該有不同的提供該方法的類的實現。通過這種方式,每個組件可以僅依靠提供getData()的組件的接口,而不需要了解如何實現此方法。

+0

確實,接口的不同實現是我將使用的解決方案 – Salandur 2010-03-17 14:49:00