对于这个问题,技术集是 C# 4.0 和 SQL Server 2008。此功能将成为 Visual Studio 扩展的一部分。
我们需要实施一种策略,允许我们的用户定义特定文件夹/文件结构的外观。将提供一个 UI,允许用户在这些文件夹中添加“文件夹”或“文件”(类型无关)。然后,我们需要将用户定义的模式存储在数据结构中,并最终根据真实的文件夹结构(稍后提供)对其进行验证。所以用户进来,使用我们的 UI 来定义文件夹结构的外观。我们采用他/她的定义并将其存储在某个数据库中。稍后用户可以执行这些操作
验证 用户将我们指向网络共享或已根据此定义的结构设置的任何位置。然后,我们根据实际位置验证定义的模式。
像这样 用户将我们指向一个文件夹,其中保存了他的架构中定义的所有文件。然后,我们解析所有文件并根据用户在各个文件夹中的架构定义重新构建它们。
每个“节点”的操作 在定义的模式中,用户还可以将操作与每个节点相关联——定义为一组文件。因此,用户可以将 5 个文件分组到一个文件夹下,比如 A,并关联一个“将其移动到 X 位置”的操作。了解如何触发这些操作并不重要(可能来自用户定义此架构的同一 UI)。关键概念是能够在逻辑上将文件组合在一起并定义对它们的操作。
我可以想到几种不同的方法来解决这个问题。显然,XML 是首选。然而,将 XML 存储在 DB 中的问题在于,在 DB 列中正确查询 XML 会变得很烦人。更不用说由于所有标签名称等导致的 XML 文档的额外大小。
这是一个开放式的问题,我想把它介绍给 SOF 的天才们,以获得一些好的想法!