Требуется проектное предложение для хранения данных для бюджетного приложения - PullRequest
0 голосов
/ 29 июля 2011

Я пишу приложение, которое буду использовать, чтобы не отставать от моего ежемесячного бюджета.Это будет приложение C # .NET 4.0 Winforms.

По сути, мой бюджет будет представлять собой матрицу данных, если вы посмотрите на это визуально.Столбцы представляют собой «даты», на которые будет расходоваться эта статья бюджета.Например, у меня есть 1 столбец на каждую пятницу месяца.Ось Y - это название статьи бюджета (оплата автомобиля, оплата дома, питание вне дома и т. Д.).Есть также категории, которые используются для группировки названий статей бюджета, которые похожи.Например, категория «Жилье» будет иметь статьи бюджета «Ипотека», «Аренда», «Электричество», «Страхование жилья» и т. Д.

Мне нужен хороший способ хранения этих данных с точки зрения разработки кода.В основном я думал о двух подходах:

Один, у меня может быть класс «BudgetItem», который имеет «Category», «Value» и «Date».У меня был бы линейный список этих элементов, и каждый раз, когда я хотел найти значение либо по дате, либо по категории, я повторял этот список в той или иной форме или способом, чтобы найти значение.Я мог бы, вероятно, использовать LINQ для этого.

Во-вторых, я мог бы использовать 2D-массив, который индексируется сначала по столбцу (дата), а затем по строке.Мне нужно было бы хранить категории и названия статей бюджета в отдельном списке и объединять данные, когда я каким-либо образом выполняю поиск.

Каков наилучший способ сохранить эти данные в коде?Я больше склоняюсь к первому решению, но я хотел посмотреть, что вы, ребята, думаете.Позже, когда я реализую свою сохраняемость данных, я хочу сохранить эти данные на сервере SQL ИЛИ в файл XML (один файл на ежемесячный бюджет).

1 Ответ

0 голосов
/ 29 июля 2011

В то время как ваша первая попытка выглядит лучше, очевидно, что вторая может быть быстрее (зависит от того, как вы ее реализовали).Однако, когда мы говорим о настольных приложениях, которые не критичны по производительности, ваша первая идея определенно лучше, особенно потому, что она поможет вам много говорить о поддержке вашего кода.Также помните, что в этой ситуации структура сущностей может быть действительно хороша

Наконец, если вы знаете, как работать с XML, я думаю, что это действительно лучше для проекта такого типа.База данных требуется только при наличии достаточного количества таблиц, поскольку вы объяснили, что у вас будет только 2 таблицы (budgetitem и category), я не думаю, что вам нужна база данных для такой простой вещи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...