2017-05-31 108 views
0

這是一個Spring Boot API項目。我們目前有一個三階段模型設計,我想知道這是否是企業最佳實踐。例如,如果有人做了一個GET呼籲所有汽車則API將:Java架構3層對象設計

  1. 調用DB把所有的汽車,並將它們存儲在CarEntity。這包含一些數據庫信息,如添加日期,更新日期等
  2. 在轉換爲Car對象後,會將實體傳遞到業務層。這剝離了額外的數據庫信息。
  3. 會將Car對象傳遞給控件,​​以便在轉換爲CarDTO對象後發送給客戶端。

因此對於1分普通型,我們有3個對象:CarEntityCarCarDTO。這是最有效和最好的做法嗎?

回答

1

這確實取決於您的要求和設計需求。我設計了簡單的Web應用程序,並且通常在所有三層(持久性,商業和Web)中使用相同的對象。

但在某些情況下,您需要多個班級。例如,如果您爲遠程客戶端公開一個類,那麼創建一個新類而不是重用持久層類是有意義的。

在EE世界中,他們喜歡強調Separation of ConcernsSOLID pricipals。所以,你可以爭辯說,從長遠來看,多個對象是最有效率和最好的做法。對於我的使用,他們通常會囉嗦並且混淆項目。在某些情況下,它們是必要的。