2012-09-01 77 views
1

我繼承了一個大型ASP.NET應用程序,其中包含一起包含業務邏輯和數據邏輯的類。我一直在努力重構它。數據訪問層中的多態性

我想創建一個數據訪問層。令我困惑的一件事是DAL中的多態性。例如,如果你有一個學生類,然後在研究生和本科班,從他們的繼承,那麼你就可以在業務邏輯層做到這一點:

Dim s1 As Student = New PostGraduate() 

是有史以來多態性數據訪問層中使用?我在別處看到過這個問題,回答者說不要打擾,只需調用DAL函數,但我只是想確定。

回答

2

這取決於數據在何處被持續表示的方式。例如,如果您有一張表(假設您使用的是關係數據庫),其中包含所有基礎學生數據以及針對本科和本科學生的附加表格,那麼您可能需要考慮這一點。

+0

謝謝。和我想的一樣。例如,如果您有三個班,即學生,PostGraduate和本科生,但關係數據庫中只有一個表,則不需要。如果你有三張桌子,那麼這是必要的。這聽起來是對的嗎? – w0051977

+0

你能回答我上次評論中的問題嗎?然後我會將問題標記爲已回答。 – w0051977

+0

您可以擁有一張表,其中包含所有三種學生類型共享的所有基本信息,其他表格僅適用於研究生或本科生。再次,DAL函數應該很簡單,所有邏輯都由業務邏輯層處理。 –