我正在设计一个处理两组数据的应用程序 - 用户和区域。数据是从第三方制作的文件中读取的。我有一个User类和一个Area类,并且数据被读入一个Users数组和一个Areas数组(或者其他适当的内存结构,这取决于我们所使用的技术)。建模相关对象
这两个类都有一个从文件读取的唯一ID成员,而User类包含一个Area ID数组,给出了一个用户与多个Areas关联的关系。
的要求很简单:
- 用户列表区的
- 清单指定区域的用户的
- 名单为指定的用户
地区
然后我想到了在User类上有'Get Areas'方法和Area类中的'Get Users'成员,如果例如我处于有Area对象的阶段,我可以通过属性找到它的用户,但是如何在Area类上的“获取用户”方法意识到/有权访问Users数组。
我以前曾经遇到过这个问题,但从来没有真正想出一个明确的解决方案。也许我只是把它变得比实际更复杂。任何人都可以提供任何提示,网址或书籍来帮助我进行这种设计吗?
更新: 谢谢大家花时间留下一些提示。非常感谢您的意见。
我同意这个问题的根源是多对多的关系。我理解这将如何在关系数据库中建模,这非常简单。
我收到的数据是来自第三方的二进制文件的形式,所以我无法控制这些结构,但是当我读取它时,我可以以最好的方式存储它。它有点儿在圆孔中嵌入方块,但我认为读取它然后将其存储在数据库中,那么程序将不得不查询数据库以获得结果。这不是一个大量的数据,所以我认为通过将它存储在内存结构中可以获得我需要的数据。
如果我使用.NET,我会用,而不是数组泛型列表。然而,我并没有太多使用DataTable的经验。我会调查一下。 – Gavin 2008-10-01 10:26:48