代码之家  ›  专栏  ›  技术社区  ›  Nasser Hadjloo

嵌入资源是只读xml数据库的好方法吗?

  •  3
  • Nasser Hadjloo  · 技术社区  · 14 年前

    我有一个开源应用程序( here )

    使用Unicode.org提供的Unicode字符数据库这是一个XML文档(130MB)

    我该怎么办?最好的样式是什么?为什么?

    短暂性脑缺血发作

    4 回复  |  直到 14 年前
        1
  •  1
  •   Adrian K    14 年前

    我想嵌入式资源是个不错的选择 您很乐意在每次发生更改时重新编译和重新部署;而且,仅仅因为你可能很乐意这样做并不意味着每个人都会:)

    一种非常常见的方法是抽象出接口后面的任何类型的数据访问;如果您这样做了,您就可以让用户选择他们想要的实现(假设您提供了两个),这样他们就可以编写自己的实现了。就模式而言,这是 Dependancy Inversion

    如果您通过配置驱动提供程序的实例(即:使用 Factory )您将能够切换提供程序,而无需重新部署应用程序的主要部分(使用数据的部分)。因此,您可以有任意多个不同的提供者:从文件提供者读取XML、SqlLite数据提供者、基于web服务/云的提供者等等。

    我喜欢Rolands方法—您也可以将其构建为提供者的实现(将文件读入内存,快速响应内存中的查询)。

    Using Resources in Visual Studio .NET

        2
  •  1
  •   Community Egal    7 年前

    我认为XML不是解决这个问题的方法。尤其是在性能至关重要的时候。如果有那么大,可以考虑切换到嵌入式dbs(例如。 SQLite 或者其他的)。

    要阅读有关XML与SQLite的更多信息,请检查以下问题: Xml or Sqlite, When to drop Xml for a Database?

        3
  •  1
  •   Roland Illig    14 年前

    XML是一种数据交换格式。由于您已经考虑将XML文件嵌入到DLL中,可能没有人真正需要XML格式。从XML文件中提取相关数据并将其作为资源存储在DLL中怎么样?首先,它可以节省空间,其次,您可以按照以后需要的方式组织数据。

        4
  •  0
  •   AMissico    14 年前