2010-01-07 47 views
1

背景Desining系統用於多發性輸入/多輸出

我素描上需要這樣的

database a >--|       |--> fileformat 1 
database b >--+--> custom application >--+--> fileformat 2 
...   |       | ... 
database n >--|       |--> fileformat n 

有問題的數據庫執行什麼應用程序都是同一類型的但具有不同的表格和結構。要加載的對象都是某種類型的產品。這些文件具有相似的結構,但不一定相同,有些是xml,有些是csv等。

自定義應用程序在此處確保操縱從關係數據檢索到的對象的一致接口。這是一個簡單的網絡應用程序,每個產品都有幾個選項,並且產品分​​頁顯示。它將附加數據添加到通過ORM手段持久化的每條記錄。

在應用程序的每個實例中只有一個數據庫處於活動狀態,但是許多文件格式可以處於活動狀態。這些文件的寫入是同時進行的。

問題

我一直在尋找設計的轉換步驟,最好的辦法掙扎。

是否有某種模式可以將不同模式組合成一個模型?這裏有一個假設,即只有所有數據庫中存在的字段應該在模型中結束。

那麼反過來呢?產品對象是否寫入文件?

我已經看過不同的模式,如戰略模式,但我還沒有那個時刻,所有的零碎似乎落到位。

對於什麼是值得的應用程序本身很可能會用PHP編寫。

回答

2

這將是我的做法:

每個DB會對這一個觀點,即會提出所需要的數據,以您的應用程序。

您的應用程序會有一個讀取數據並將其重新配置爲(相當標準)數據結構的層。

然後,您將會有一個圖層讀取這些標準數據結構並寫出所請求的文件。