数据访问层中应隐藏哪些详细信息

本文关键字:详细信息 隐藏 访问 数据 | 更新日期: 2023-09-27 18:26:17

我正在创建一个数据访问层(DAL)来读取/修改存储在XML文件中的一些表。当我的应用程序运行时,这些表的行经常更新,因此我考虑了两种可能的替代方案:

  1. 当应用程序启动时,我可以通过DAL将所有数据加载到表中,并将它们放入数据结构中,如Dictionary。当应用程序运行时,此字典会不断更新。当应用程序关闭时,我调用DAL的一个方法,以便用字典中的新数据覆盖旧文件
  2. 将这个字典隐藏到上层可能更正确,所以我可能在DAL中有一个Dictionary私有字段。通过这种方式,上层将调用DAL的方法来更新表的行

也许第二种方法比第一种更好吗?

数据访问层中应隐藏哪些详细信息

这里的选项2更适合封装,但会增加复杂性。字典是您的上级不应该关心的实现细节。相反,您的数据访问层应该公开表示实际表的类——例如,您可能有一个Person类或一个Inventory类。作为DAL类,这些类将提供适当的添加、删除、更新、检索等方法。

再往上看,你会有一个域层,它对从DAL类中检索到的一行进行操作,该行将添加业务方法(例如,Order可以由Person生成,并影响Inventory——在这些域类上调用方法的行为向下到DAL,以实际接触底层数据)。