我使用spring-mvc,我的控制器大多包含太多的邏輯。當3 - 5個服務bean構成業務流程並且它們被一個處理程序調用時,則會包含一些驗證,並且會導致幾個if-else條件,並帶有肯定或否定響應。在MVC模式下處理簡單的業務流程?
一個可能的解決方案是擁有一個包含所有對服務bean的引用和其方法的通用接口的外觀。這使得它更簡單,它也可以構成MVC模式中的異常邊界,但是,業務流程仍然有一些邏輯和驗證,並且仍然在處理程序方法中處理。
我應該創建類似這樣的東西嗎? :
BusinessProcess {
processOrder() {
serviceBeanA.call();
result = serviceBeanB.call();
validator.validate(result); // throw exception
serviceBeanC.call(result);
}
}
並且在我的處理程序中只使用BusinessProcess bean?捕獲異常或返回值會說出什麼是錯誤的以及應該包含哪些內容。否則processOrder方法的內容將在處理程序中。
這是正確的方法嗎?如果是這樣的話,這個模式如何被調用