我目前在閱讀有關設計模式及其用法。我試圖找到一個設計模式來重新使用我當前的代碼。基於邏輯從不同來源加載數據的設計模式建議
問題:從在一定的順序幾個不同的來源
將數據裝載到一個大的JavaBean。數據是根據一些簡單的初始標準加載的。從第一個源返回的數據將構建下一個源的標準。
可能沒有數據可能從某些數據源返回。這可能不會阻止加載過程進入JavaBean,但基於某些邏輯,加載過程可能會跳過某些數據源,因爲它沒有足夠的條件來查詢。
當前的解決方案:
BigJavaBean Class
每個裝載類包含的方法來訪問每個源的DAO
查詢到每個DAO的從屬性內置在BigJavaBean
每個加載器類中都有邏輯來確定它的「加載」或不是
LoaderClassDataBase for BigJavaBean
LoaderClassFlatFiles for BigJavaBean
LoaderClassXmlFiles for BigJavaBean
LoaderClassWebService for BigJavaBean
... and so on
MainLogicClass
BigJavaBean bigJavaBean = new BigJavaBean();
populateBigBeanMethod() {
loaderClassDataBase(bigJavaBean);
if (loaderClassDataBase.isLoaded()) {
loaderClassFlatFiles(bigJavaBean);
if (loaderClassFlateFile.isLoaded() {
loaderClassXmlFiles(bigJavaBean);
}
}
... more if statements
}
謝謝。
我也會說...接口 – 2012-03-14 15:28:28
@Jakob鮑耶,接口不是設計模式。 – 2012-03-14 15:30:07
我會建議與'Factory Pattern'捆綁的'Builder pattern'(如果需要的話)。 – 2012-03-14 15:32:05