2012-12-05 3 views
-1

OOP 및 소프트웨어 디자인을 처음 접했을 때 데이터 소스 집합에서 데이터베이스를 채우는 프로그램을 만드는 임무가있었습니다. 제 질문은 높은 수준입니다. 수업을 설계하는 데있어 좋은/유연한/논리적 인 방법은 무엇입니까? 빌드 할 대상 데이터베이스에는 약 40 개의 이미 정의 된 테이블이 있습니다. 또한 이러한 테이블은 관련 정보의 10 세트 (TableSets이라고도 함)로 그룹화됩니다. 저의 초기 아이디어는 DataBase, TableSetTable의 3 개 클래스로 구성되었습니다.C# 프로그램이 데이터베이스를 채우는 디자인

  • 베이스 클래스 TableSet 클래스가 TableSet

  • 테이블 클래스 표의 배열했을

  • (N을 1) TableSets의 배열을 유지 막하고자 할 데이터를 내가

    같은 것을 가지고 생각 된 방법에 대한

를 개최

DataBase.PopulateTableSet(tableSetNum) 
TableSet.PopulateTable(tableNum) 
Table.RunQuery or some other method to get the right data 

좋은 방법이 무엇인지에 대한 의견이 있으면 누구나 도움을 주시면 감사하겠습니다. 봐 주셔서 감사합니다.

+0

이렇게 대답 할 수있는 변수가 너무 많습니다. 전체 책은 주제에 쓰여져 있습니다. 개발자 팀은 객체 - 관계형 모델을 디자인합니다. .NET에는 이미 많은 물건이 내장되어있어 질문의 절반이 불필요하며 WinForms를 사용하고 싶지는 않습니다. ASP.NET, Silverlight, Console applications ... 또는 나는이 질문이 현재 형식으로 답할 수 없기 때문에 비판적이거나 의미심장 한 것으로 생각하지 않으려 고합니다. 최선의 조언은 www.asp.net으로 이동하여 기초에 대한 아이디어를 얻으려면 자습서 중 일부를 보는 것입니다. – David

+0

http://programmers.stackexchange.com에 더 적합 할 수 있습니다. – Spontifixus

답변

0

는 당신이 아마에 대해 읽고 싶은 것은 세 가지 계층 응용 프로그램 개발입니다 :

당신은 더 연구를위한 이러한 링크를 사용할 수 있습니다 어형 변화표. 기본적으로 데이터 소스를 읽고 쓸 수있는 클래스를 디자인해야합니다. SQL 데이터 소스, 액세스 등 ...

다음으로 논리 계층 (때로는 비즈니스 논리라고 함)이 필요합니다. 논리 클래스에서는 SQL 문 작성, 계산 실행 등의 작업을 수행하고 마지막으로 GUI 계층 (양식을 얻거나 사용하고자하는 것이 무엇이든)을 수행합니다.

각 레이어에 여러 개의 클래스가 필요할 수 있습니다. SQL 클래스, MSAccess 클래스 또는 읽고 쓰는 데이터 소스.

당신은 내가 OO에 새로운 아니다 http://www.dotnetperls.com/

1

ORM (Object Relation Mapping)을 사용할 수 있습니다. ORM은 DB 테이블 (관계)을 코드의 클래스에 매핑 할 수 있습니다. 손으로 많은 일을 할 필요가 없습니다. C#을 사용하는 경우 Entity Framework 또는 Nhibernate를 사용할 수 있습니다. 자바의 경우 당신은 최대 절전 모드를 사용할 수 있습니다.

http://en.wikipedia.org/wiki/Object-relational_mapping

http://nhforge.org

http://msdn.microsoft.com/en-us/data/ef.aspx

http://www.hibernate.org/

0

을 확인, DataTables를 검색 할 수 있습니다; 하지만 C#을 처음 접했고 지금 개발중인 응용 프로그램이 데이터베이스와 긴밀하게 협력합니다. 해당 응용 프로그램에서 Entity Framework를 사용하기로 결정했으며 거의 ​​투명하게 데이터베이스 작업을 수행했습니다.

데이터베이스 우선 접근법이 매우 쉽다는 것을 알았습니다. 데이터베이스를 만들고 엔터티 모델을 추가하고 Visual Studio에서 데이터베이스로 만듭니다. 그런 다음 데이터베이스 작업을 수행하는 데 사용하는 클래스 목록을 갖게됩니다.

DB를 직접 시작하는 경우 테이블에 '복수형'이름을 지정하고 밑줄을 사용하지 않는 등의 규칙을 따르는 것이 큰 도움이 될 수 있습니다 (예 : '사용자'테이블 , '사용자'라고 함).

시작하기 쉽도록 여러 가지 동영상을 볼 수 있습니다. 여기에 내가 찾은 video series이 있습니다. 나는 다른 사람들도 발견했다. 그러나 나는 그들을 다시 찾아야 할 것이다.

관련 문제