我玩弄面向對象設計/數據庫設計通過創建可拉從各種來源,如亞馬遜或IMDB信息,以保持信息對電影的應用/音樂/書籍我還是看過/讀取等...電影,書籍,專輯等產品對象由一個或多個來源的屬性組成,在不同類型的對象之間有一些重疊(例如,所有產品都有一個Title,ASIN等等)。此外,各種資源可能有一些相同的信息(例如發佈日期)以及一些不同的信息(例如IMDB包含關於演員的更多信息,我可能想使用,但我不會從亞馬遜獲取這些信息)。我希望能夠選擇來自哪些來源的重疊屬性。見鏈接圖像的一個簡單的例子:OOD媒體查詢應用程序
http://imageshack.us/photo/my-images/194/drawing1r.png/
好像重新定義,我在電影類的解析器類定義的所有屬性是有點多餘,甚至moreso如果我繼續創作其他諸如Book,Album(重新定義ASIN,IMDBId等)。我似乎正在接近這個錯誤。
一個更好的設計,更易於擴展和維護有什麼建議?
的IMDB /亞馬遜分析,因爲產品不僅從單一來源組成信息的不創造產品對象。我將屬性保留在解析類中的原因是,我可以選擇使用哪個數據源來用於「產品」類的特定屬性。由於每個源可能獲得不同的屬性,因此很難創建IProductSource接口。 – user623879