2012-03-06 35 views
0

我有一個DAO接口獲取對象數據庫:服務和DAO方法參數

List<MyObject> find(String id) 

在我的服務,我需要從配置和/或其他的DAO來附加字段擴展此對象。

List<MyObjectEx> find(String id) 

MyObject和MyObjectEx應該如何與另一個相關。派生,聚合,字段映射,其他? (我也可以想象DAO返回部分MyObjectEx實例)

謝謝!

+0

如果可能的話創建一​​個作文。我會對其他內部的VO提出建議 - 一張桌子,一個VO保持生活健康。 – Nishant 2012-03-06 16:10:07

+0

'MyObject'會發生什麼?它會在什麼地方使用? – DerMike 2012-03-06 16:11:12

+0

可能在您的服務中,impl可以做到這一點。一旦你從DAO得到了'MyObject'的響應,你可以在同一個服務impl函數中配置其他字段或其他DAO。 – 2012-03-06 16:13:25

回答

0
  1. 它可能不是派生的,因爲MyObjectEx不是 MyObject類型。相反,它是一種不同類型的對象,它包含MyObject中存在的 屬性。但是如果MyObjectEx可能在需要MyObject的地方使用 ,那麼我們可以將它們保留在相同的 層次結構中。
  2. 你可以使用Adapter模式,但我認爲它不合適 ,因爲這不是真正意義上的對象轉換。
  3. 此外,我們可以考慮聚合,但MyObjectEx和 MyObject將無法相互替換,即第1點的 的好處將會丟失。