0

我正在做一个小项目,我第一次想使用 XML 作为唯一的数据源……基于文件的存储适合项目的需要。

在编写 DAL 时,我应该将所有 get 方法都设为静态吗?避免和“文件打开时读取”错误?我应该在文件上使用 CacheDependency 吗?

谢谢

4

2 回答 2

2

我认为你并没有像你本来可以那样清楚。这些文件有多大?数据层始终将 XmlDocument 保存在内存中并在每次更新时转储到硬盘是否有意义?

如果有的话,多久会更新一次?你将如何处理并发?更新是否会跨多个 xml 文件进行事务处理?您将如何处理一致性和事务完整性?如果没有更新,你的生活会简单得多。

方法不必是静态的。要考虑的主要事项是,将来您可能希望将 DAL 提供程序从 XML 更改为 DB。为此,DAL 接口的具体实现应与抽象数据提供者对话。对你来说,它最初是一个 Xml 提供程序,但你应该能够编写一个实现相同接口的 Sql 提供程序,并使用依赖注入、配置文件或你拥有的东西轻松切换实现。

如果您有 DAL 实现的实例,则可以只使用这些对象与数据层对话。

希望这对你来说是一个好的开始。

于 2008-10-09T13:55:56.000 回答
0

好的。

这些文件不太可能很大,我怀疑最大值会达到 1-2MB。

我为您提供了需要与数据库互换的 DAL 接口,因此我需要仔细考虑我的接口。

并发,嗯,我很担心,不完全确定我应该如何处理它。我在想静态读写方法会有所帮助。

XML 将被更新,不是那么频繁,可能一天一次,但它可能随时更频繁。

我使用 CacheDependancy 仅在文件更改时从源获取。

我会在同时读取缓存时遇到问题吗?那么如何处理并发问题呢?

于 2008-10-10T08:58:50.500 回答