数据访问层设计

4

我有一个网页应用程序和一个控制台应用程序,它们都访问同一个数据库。该数据库有两个表格(A、B),其中一个表格(A)是特定于网页应用程序的。在编写数据访问层时,什么是最好的方法?从技术上讲,数据访问层应该提供对所有可访问的数据的访问。这样做,如果我们只有单一的访问层,则公开与 A 交互的方法将暴露给控制台应用程序。在同一个数据库中创建2个访问层来访问2个表格是否有任何意义?什么是一个好的方法?

1个回答

1

我个人认为应该将数据访问层单独放在一个类中,并且再使用1个(或多个中间类)来保存业务实体,这些实体将由数据访问层进行通信/填充。控制台和Web应用程序随后与业务实体层进行通信。

例如:

数据访问层

包含有关数据库的所有连接信息,以及执行存储过程、函数和查询的方法。此类将与表A和表B进行通信。

控制台1实体

此类将保存使用数据访问层实例检索适当信息的方法/属性。例如:

public List<string> GetTableAContents() {
   var retVal = Data.RunStoredProcedure("sp_Table1Contents);
   return retVal;
}

控制台应用程序

Console1Entity ce = new ConsoleEntity();
var contents = ce.GetTableAContents();

然后,您将根据与该应用程序相关的内容创建一个新的WebApplication实体类。这将提供三层架构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接