需要设计建议来存储预算保留应用的数据

时间:2011-07-29 01:58:15

标签: c# .net data-structures

我正在编写一个应用程序,我会用它来跟上我的每月预算。这将是一个C#.NET 4.0 Winforms应用程序。

如果你从视觉上看它,我的预算基本上就是一个数据矩阵。列是预算项目将用于的“日期”。例如,我每个星期五都有1列。 Y轴是预算项目的名称(汽车付款,房屋付款,外出就餐等)。还有一些类别,用于对类似的预算项目名称进行分组。例如,一个名为“住房”的类别将有预算项目,称为抵押贷款,租金,电力,家庭保险等。

我需要一种从代码设计角度存储这些数据的好方法。基本上我已经想到了两种方法:

一,我可以拥有一个“类别”,“价值”和“日期”的“BudgetItem”类。我会有一个这些项的线性列表,每次我想通过日期或类别找到一个值时,我会以某种形式或方式迭代这个列表以找到值。我可能会使用LINQ。

其次,我可以使用一个二维数组,该数组首先按列(日期)和逐行索引。我必须在单独的列表中维护类别和预算项目名称,并在我以某种方式进行查找时将数据连接在一起。

在代码中存储此数据的最佳方法是什么?我更倾向于第一个解决方案,但我想看看你们的想法。稍后,当我实现数据持久性时,我希望能够将此数据持久保存到SQL服务器 OR 到XML文件(每月预算一个文件)。

1 个答案:

答案 0 :(得分:0)

虽然你的第一次尝试看起来更好,但是第二次尝试看起来更快(取决于你如何实现它)。然而,当我们谈论的桌面应用程序并不是性能关键时,你的第一个想法肯定会更好,特别是因为它会帮助你解决维护代码的问题。还记得在这种情况下实体框架可能非常好

最后,如果你知道如何使用XML,我认为这种类型的项目真的更好。只有当你有相当数量的表时才需要数据库,正如你所解释的那样,你只有2个表(预算项目和类别),我认为你不需要一个数据库来实现这么简单的事情