Design patterns 数据访问层中的多态性

Design patterns 数据访问层中的多态性,design-patterns,Design Patterns,我继承了一个大型ASP.NET应用程序,其中包含同时包含业务逻辑和数据逻辑的类。我正在努力重构它 我正在考虑创建一个数据访问层。让我困惑的是DAL中的多态性。例如,如果您有一个学生班,然后有一个研究生班和本科生班继承自他们,那么您可以在业务逻辑层中执行此操作: Dim s1 As Student = New PostGraduate() 多态性是否曾用于数据访问层?我在其他地方看到过这个问题,回答者说不用麻烦,只要调用DAL函数就行了,不过我只是想确定一下。这取决于数据在任何地方的持久化方式

我继承了一个大型ASP.NET应用程序,其中包含同时包含业务逻辑和数据逻辑的类。我正在努力重构它

我正在考虑创建一个数据访问层。让我困惑的是DAL中的多态性。例如,如果您有一个学生班,然后有一个研究生班和本科生班继承自他们,那么您可以在业务逻辑层中执行此操作:

Dim s1 As Student = New PostGraduate()

多态性是否曾用于数据访问层?我在其他地方看到过这个问题,回答者说不用麻烦,只要调用DAL函数就行了,不过我只是想确定一下。

这取决于数据在任何地方的持久化方式


例如,如果你有一个表(假设你使用的是关系数据库),它包含了所有基本的学生数据,除了为在职和本科生提供额外的表,那么你可能需要考虑它。我就是这么想的。例如,如果您有三个类,即学生、研究生和本科生,但关系数据库中只有一个表,那么就没有必要了。如果你有三张桌子,那就有必要了。听起来对吗?你能回答我最后一句话中的问题吗?然后我将问题标记为已回答。你可以有一个表,其中包含所有三种学生类型共享的所有基本信息,另外还有只适用于研究生或本科生的表。再说一次,DAL函数应该很简单,所有的逻辑都由业务逻辑层处理。你是说BLL不应该与DLL进行多方面的对话吗?@w0051977它变得有点过于理论化了-你能用一个例子来说明吗?