누군가 .NET의 리포지토리 패턴을 단계별로 설명하여 매우 간단한 예 또는 데모를 제공 할 수 있습니까?
나는 이것이 매우 일반적인 질문이라는 것을 알고 있지만 지금까지는 만족스러운 답변을 찾지 못했습니다.
답변
요약하면 리포지토리 패턴의 영향이 더 큽니다. 객체가 어떻게 유지되는지 알 필요없이 모든 코드가 객체를 사용할 수 있습니다. 테이블에서 오브젝트로의 맵핑을 포함하여 지속성에 대한 모든 지식이 저장소에 안전하게 포함됩니다.
종종 코드베이스에 SQL 쿼리가 흩어져 있고 테이블에 열을 추가 할 때 코드 파일을 검색하여 테이블 사용법을 찾아야합니다. 변경의 영향은 광범위합니다.
저장소 패턴을 사용하면 하나의 오브젝트와 하나의 저장소 만 변경하면됩니다. 영향은 매우 작습니다.
리포지토리 패턴을 사용하는 이유에 대해 생각하는 것이 도움이 될 것입니다. 몇 가지 이유는 다음과 같습니다.
-
데이터 액세스를 변경할 수있는 단일 장소가 있습니다
-
테이블 세트를 담당하는 단일 장소가 있습니다 (보통)
-
테스트를 위해 저장소를 가짜 구현으로 쉽게 교체 할 수 있으므로 단위 테스트에 사용 가능한 데이터베이스가 없어도됩니다.
예를 들어 MySQL을 사용 중이고 SQL Server로 전환하려는 경우 다른 이점도 있지만 실제로 실제로 본 적이 없습니다!
답변
이 좋은 예입니다 : C #에서 리포지토리 패턴의 예
기본적으로 리포지토리는 데이터베이스에서 데이터를 정확히 가져 오거나 유지하는 방법에 대한 세부 정보를 숨 깁니다. 커버 아래 :
- 읽기 위해 제공된 기준을 만족하는 쿼리를 작성하고 결과 세트를 리턴합니다.
- 쓰기를 위해 기본 지속성 엔진 (예 : SQL 데이터베이스)이 데이터를 저장하는 데 필요한 명령을 발행합니다.