2010-11-04 38 views
0

設計(然後實現)分層應用時:設計:ORM和應用層

在所有層之間使用相同的ORM對象是否正確? (這將違背封裝)。

或者演示文稿,業務和數據層應該各自擁有自己的對象嗎? (這會導致大量的代碼重複)。

例如(只是爲了說明問題):如果在數據層和Visual Studio的O/R設計器中使用Linq to SQL來生成ORM對象,那麼這些對象也應該用於Business和Presentation Layers中。

即:對象是否與應用程序處理橫切問題的實體相關聯?

回答

2

這取決於您的業務。如果你正在談論一個小應用程序,你可以做到。 通常,最佳實踐不希望將實體從DAL公開到演示文稿,因爲這樣會使該層緊密耦合,並且您可能會暴露在頂層(演示文稿) 上無意義的數據另一方面,你不應該爲每一層創建一堆對象。 它總是很難回答這個問題,因爲它確實取決於您的需求。 你可以看看這本書只是有一個想法有關

http://books.google.co.uk/books?id=FyWZt5DdvFkC&printsec=frontcover&dq=martin+fowler+enterprise+architecture&source=bl&ots=eEEx4ATr5C&sig=sSmDmffOSALWfFZEaPyhkwwEq_I&hl=en&ei=SJnSTMuSJIHm4AaK9tW5Dw&sa=X&oi=book_result&ct=result&resnum=6&ved=0CDAQ6AEwBQ#v=onepage&q&f=false

+0

+1 - 只有我可能更堅定的認爲,這不是一個好主意。 – 2010-11-04 11:37:42