0
我想設計一個適用於多組不同請求參數的搜索服務。它可以只用一個參數來調用,或者用更多的參數來調用。實現多參數搜索服務
問題是一些參數只能單獨使用,或者與其他參數相互排斥。
另一個問題是,一些參數是真正需要的,而其他的只是可選的。
解決這個問題的最簡單方法是在控制器的搜索方法中包含一系列if語句,檢查某些參數或一組參數的存在,並相應地作出反應。然而,從Java的世界來看,我被教導不相信任何事情,最終會發生一堆if或switch語句。回到那裏,我們經常訴諸工廠,我們將決定從一系列戰略類別中選擇適當的搜索策略。所有這一切都是必要的,就是在請求參數和策略類之間配置一個適當的映射。
我也知道Rails的開發思路傾向於以一種不太抽象和更像商業的方式來解決問題。
什麼是製作複雜的多參數搜索服務的正確方法?