讓我們說我有一個用戶類,我想返回我的數據庫中的所有用戶。爲此,我創建了一個名爲getAll()的方法;同樣的方法,多種返回類型。代碼組織
我需要在應用程序的不同部分調用該方法,並以不同格式返回數據。例如,我可能需要以逗號分隔的所有用戶放入一些「where in」條件,或以json格式放置api或數組。
什麼是組織我的代碼的最佳解決方案?
可能的解決方案: 1.爲getAll函數傳遞一個fetchMode變量,以便我可以相應地設置返回值的格式。 2.創建一個代理方法「findAllAsArray」,「findAllAsJson」等,它調用原始的getAll方法並設置響應的格式。 3. Allways以標準格式(例如:array)返回結果,然後創建一些通用方法在格式之間進行轉換:ex:arrayToJson,arrayToCsv等,並在需要除標準以外的其他格式的結果時使用它們。
如果我有很多需要的格式,方法1可能會使getAll方法太複雜。 方法2可能會添加太多的額外方法,導致我的類更復雜。 方法3,不知道,但應該從我認爲的模型中以需要的格式返回數據。在控制器中轉換它可能不是最好的解決方案。
「控制器」。你是否在Ruby on Rails這樣的框架中工作?我問,因爲你的特定框架可能有內置的機制或慣例來處理這個問題。 –