1
我期待重構一段代碼,該代碼爲數據庫的存儲過程提供編程接口。但是,我發現自己必須創建潛在的數百個功能,以幾種不同的配置完成相同的功能。許多功能可以做同樣的事情 - 什麼是DRY的優秀設計模式?
- 存儲過程的函數使用
- 映射到配置對象,它提供用於該特定存儲過程
指定參數和驗證PARAMS作爲一個例子:
getCountries = function(params){
var options = { statement : 'proc_1'}
return run_request(options, params, mappings.select.countries)
}
getStates = function(params){
var options = { statement : 'proc_2'}
return run_request(options, params, mappings.select.states)
}
自然,這種感覺不太乾,並且在有很多這樣的情況下會產生問題。
我很好奇我可以處理這種情況的不同方式,以及'最佳實踐'是什麼。
我想過有一個大的配置和導演函數,給定的字符串參數將得到正確的存儲過程及其配置。例如:
get('countries', params)
但我不確定這一點,因爲在某些情況下,字符串看起來有點武斷。
我想過的另一件事是也有一個巨大的配置,只是在運行時自動生成的功能。這看起來更可取,但我仍然堅持一個非常大的文件,這可能是一個很難維護的文件,儘管它似乎比我目前的實現更好地遵循DRY。
想法?我應該看看有什麼特別的設計模式嗎?