2013-05-09 137 views
0

我在Java中使用數據映射器模式來訪問數據庫。在另一個映射器內調用映射器可以嗎?就我而言,映射器應該獨立工作而不依賴於其他映射器,但似乎與我一起工作在同一項目上的其他人有不同的觀點。在Java中的另一個數據映射器內使用數據映射器?

舉個例子:我有一個Customer對象和一個ContactPerson對象。客戶有一個ContactPerson對象作爲字段。爲了從數據庫獲取數據,我有一個CustomerMapper和一個ContactPersonMapper。從數據庫中檢索客戶數據時,我需要同時獲取其ContactPerson數據。在我的CustomerMapper中使用ContactPerson映射器是一個好主意,還是我應該讓映射器完全獨立於彼此?

回答

1

我想你在這裏使用類似於spring jdbctemplate和mappers的東西。我使用這種模式很多,我傾向於同意你的看法。我從不在映射器中調用第二個映射器。在我看來,當映射器是獨立的時候,代碼更容易測試和讀取。我更喜歡在DAO中儘可能少的邏輯,並將邏輯留給其他代碼級別。

過去有幾次我在mappers裏面創建邏輯來將結構映射到更高級的對象,但是我甚至不這麼做。我認爲最好的方法是讓製圖人員非常簡單。

+0

我同意這一點。當我第一次看到數據映射器模式時,我立即想到這暗示着映射器只是單獨的。我想如果有人改變了在另一個映射器中使用的映射器,可能會出現大的代碼故障。感謝你的回答。我希望這也得到其他人的證實。 – ZimZim 2013-05-09 08:28:42