리포지토리와 서비스의 차이점은 무엇입니까? 나는 그것을 이해하지 못하는 것 같다.
저는 일반적으로 linq to sql을 사용하여 데이터 액세스 계층을 통한 데이터 액세스에 대해 이야기하고 있습니다.
매우 자주 간단한 CRUD 방법이있는 저장소와 더 많은 비즈니스 특정 방법이있는 서비스를 봅니다.
우리는이 걸릴 수 있습니다 이 예를 들어 블로그 게시물을. 하단의 인터페이스 (이미지)를 보면 두 개의 저장소와 두 개의 서비스가 있습니다. 어디에 무엇을 넣을지 어떻게 압니까?
내가 말했듯이 리포지토리는 CRUD와 유사한 운영 및 서비스에 대한 비즈니스 지향적 인 것 같습니다.
감사
답변
Repository는 본질적으로 Collection 스타일 의미론 (Add, Update, Remove)을 사용하여 데이터 / 객체에 대한 액세스를 제공 하는 지속성 을 위한 파사드입니다 . 이는 애플리케이션의 나머지 부분에서 데이터 / 객체를 저장하는 방식을 분리하는 방법입니다.
서비스는 애플리케이션을 운영하는 데 필요한 조정 또는 기타 “서비스”를 제공합니다. 서비스는 일반적으로 지속성에서 데이터에 액세스하는 방법을 모르고 저장소는 일반적으로 보유 할 수있는 모든 서비스의 데이터 / 객체 에만 액세스 한다는 점에서 매우 다릅니다 .
답변
저장소는 데이터가 저장되는 곳입니다. 서비스는 데이터를 조작하는 것입니다.
실제 상황 비교에서 돈이 은행의 금고에 저장되어 있다면 금고가 저장소입니다. 입금, 출금 등을하는 창구가 서비스입니다.
답변
나는 일반적인 의미에서 첫 번째 시도로 말할 것입니다 (당신이 더 많은 맥락을 제공 할 때까지) :
- 저장소는 나중에 사용할 수 있도록, 일부 글로벌 물건을 올려 곳입니다.
- 서비스는 비즈니스 로직 코드를 명시했다 (그리고 이상적으로 프리젠 테이션 계층 및 데이터베이스 계층에서 분리?)