【问题标题】:XML as data source : best practice for readingXML 作为数据源:阅读的最佳实践
【发布时间】:2008-10-08 06:49:18
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: xml data-access-layer


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      好的。

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

      我告诉你 DAL 接口需要与数据库互换,所以我需要仔细考虑我的接口。

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-04
        相关资源
        最近更新 更多