2011-07-29 6 views
0

월 예산을 따라 잡을 수있는 신청서를 작성하고 있습니다. 이것은 C# .NET 4.0 Winforms 응용 프로그램입니다.예산 보존 신청을위한 데이터 저장을위한 제안 제안이 필요합니다.

본질적으로 내 예산은 시각적으로 보면 데이터 매트릭스입니다. 항목은 예산 항목이 지출되는 '날짜'입니다. 예를 들어, 매월 금요일마다 1 개의 열이 있습니다. Y 축은 예산 항목 (자동차 지불, 주택 지불, 외식 등)의 이름입니다. 유사한 예산 항목 이름을 그룹화하는 데 사용되는 카테고리도 있습니다. 예를 들어 "주거"라는 범주에는 모기지, 임대료, 전기, 주택 보험 등의 예산 항목이 있습니다.

이 데이터를 코드 설계의 관점에서 저장하는 좋은 방법이 필요합니다. 기본적으로 두 가지 접근 방식을 생각해 보았습니다.

하나는 "카테고리", "값"및 "날짜"가있는 "BudgetItem"클래스를 가질 수 있습니다. 이 항목들의 선형 목록을 가지며 날짜 또는 범주별로 값을 찾고 싶을 때마다이 목록을 어떤 형식이나 방식으로 반복하여 값을 찾습니다. 아마도 LINQ를 사용할 수 있습니다.

둘째, 열 (날짜)과 행 (열) 순으로 색인을 생성하는 2D 배열을 사용할 수 있습니다. 어떻게 든 내 조회를 할 때 범주와 예산 항목 이름을 별도의 목록에 유지하고 데이터를 함께 결합해야합니다.

코드에이 데이터를 저장하는 가장 좋은 방법은 무엇입니까? 나는 첫 번째 해결책을 향해 더 기대고 있지만 당신이 생각하는 것을보고 싶었습니다. 나중에 데이터 지속성을 구현할 때이 데이터를 SQL 서버 또는 (XML 파일 당 1 개의 파일 당 1 개의 파일)에 유지할 수 있기를 원합니다.

답변

0

첫 번째 시도가 더 멋지게 보이지만 실제로는 두 번째 구현이 더 빠를 수 있습니다 (구현 방법에 따라 다름). 그러나 성능에 중요하지 않은 데스크톱 응용 프로그램에 대해 이야기 할 때 코드를 유지 관리하는 데 많은 도움이되므로 처음 아이디어가 확실히 더 좋습니다. 또한 엔티티 프레임 워크가이 상황에서 정말 멋지다는 것을 기억하십시오.

마지막으로 XML을 사용하는 방법을 알고 있다면이 유형의 프로젝트에서 실제로 더 좋습니다. 데이터베이스는 2 개의 테이블 (budgetitem 및 category) 만 가지고 있다고 설명 했으므로 상당한 양의 테이블을 가지고있을 때만 필요합니다. 단순한 데이터베이스를 필요로하지 않습니다.

관련 문제