2017-07-03 24 views
2

我有項目,我有在何處,何時以及如何轉換DTO /從實體

  • 持久層
  • 業務層
  • 表示層

而且我有DTO for each Entity,

@Entity 
@Table(name = "insurance_config") 
public class InsuranceConfiguration { 

和DTO

public class InsuranceConfigurationDTO { 

從建築的角度 什麼是DTO轉換到/從實體的最佳做法?

轉換應發生在哪一層?

我應該將轉換方法放在DTO/Entity中還是放在單獨的類中?

+3

任何回答這個問題將是一個意見。舉個例子,我建議,只要邏輯上從一個系統層傳遞到另一個系統層,您應該將DTO轉換爲實體。 「何時」或「何地」完全取決於您自己決定。 –

+0

@ M.Prokhorov,最佳實踐是什麼? –

+0

重要嗎?最佳做法是意見。意見改變並且在SO回答的背景下無用。哦,不同的系統構建風格遵循不同的最佳實踐。 –

回答

1

here is a link你在哪裏瞭解到TOA設計模式。我認爲這是你想要的。在這裏你調用一個dao類,當你得到一個對象或對象列表後,你可以調用一個Dozer映射器,你可以使用它來實體轉換爲dto,它可能在util包或mapper包中。我認爲最好的是業務層或可能是持久性......但當然不是演示文稿..

3

您應該介紹Web /服務/持久層之間的接口層,並避免傳遞依賴性。轉換邏輯不應該包含在DTO中,而應該包含在不同的類中,但這是我的看法。

爲了更好地理解,我創建了一個簡單的UML:Might not the best UML in the history of UML diagrams

(PS:我會發布這個項目,如果需要的GitHub)

+1

你應該寫關於它的文章並在線提交 –

相關問題