강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

YJ J님의 프로필 이미지
YJ J

작성한 질문수

따라하며 배우는 NestJS

로그인 기능 구현하기

services와 repository 파일에서 해야하는 작업

작성

·

73

0

user.repository에서는 db작업을 하고 user.service에서는 cotroller와 repository 그 사이 에 무언가 작업을 해야하는걸로 생각해 왔는데 이번 강의에서 user.service에서 db조회를 하셔서 각각 파일의 역할을 잘 모르겠습니다.

user.service와 user.repository 파일에서 각각 해야하는 작업이 뭔지 알고싶습니다

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. YJ J님.

User Service와 User Repository의 역할을 이해하는 것은, 애플리케이션 구조를 설계하고 유지보수하는 데 있어서 매우 중요합니다. 다음은 각 파일에서 일반적으로 수행해야 하는 작업의 개요입니다.

  1. User Repository:

    • 데이터베이스 작업: 주로 CRUD(Create, Read, Update, Delete) 작업과 같은 데이터베이스 관련 로직을 처리합니다.
    • 데이터 모델링: 엔티티를 정의하고 데이터베이스와 직접 상호작용합니다.
  2. User Service:

    • 비즈니스 로직: 컨트롤러에서 받은 요청에 기초하여 비즈니스 로직을 작성하고 데이터의 유효성을 검사합니다.
    • 트랜잭션 관리: 여러 데이터베이스 작업을 하나의 논리적인 단위로 묶고 이를 조작합니다.
    • 외부 시스템 연동: 외부 API 호출 및 연동 작업을 포함할 수 있습니다.

각각의 파일에 대한 명확한 분리의 필요성은, 코드의 재사용성과 유지보수성을 높입니다. 특히, 서비스 계층은 데이터를 어떻게 조작할지를 결정하는 반면, 리포지토리 계층은 데이터를 저장하거나 검색하는 방법을 정의합니다. 이를 통해 코드가 변화할 때 영향을 최소화하는 이점을 제공합니다.

관련 논의 사항을 다룬 Repository 및 Service 계층의 역할 이해 게시물을 참고하세요.

저는 YJ J님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

YJ J님의 프로필 이미지
YJ J

작성한 질문수

질문하기