강의

멘토링

로드맵

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

Gyuri Kim님의 프로필 이미지
Gyuri Kim

작성한 질문수

프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)

[이론] NestJS 구조 (Module, Controller, Service)

Nest.js와 레이어드 아키텍처

작성

·

10

0

nest.js에서의 레이어드 아키텍처 구조에 궁금한 점이 생겨 질문을 남깁니다

각 계층별 실제 구현 파일을 아래와 같이 이해하면 될까요?
repositoryentity가 정확히 어떤 계층에 속하는지 궁금합니다.

 

  1. Presentation Layer

    1. controller.ts

  2. Application Layer

    1. service.ts

  3. Domain Layer

    1. repository.ts

    2. entity.ts

  4. Data Transfer Object

    1. dto.ts

답변 1

0

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

Gyuri Kim님께서 문의하신 Nest.js의 레이어드 아키텍처 구조에 대해 설명드리겠습니다.

  1. Presentation Layer

    • controller.ts: 요청을 받고, 적절한 서비스 메서드를 호출하여 결과를 반환합니다.
  2. Application Layer

    • service.ts: 비즈니스 로직을 처리합니다. 요청에 따라 필요한 작업을 수행합니다.
  3. Domain Layer

    • repository.ts: 데이터베이스와의 상호작용을 담당합니다. Spring Data JPA와 유사하게 보통 데이터 저장소에 대한 접근을 제공하는 역할을 합니다.
    • entity.ts: 데이터베이스의 테이블에 매핑되는 도메인 객체를 정의합니다. 도메인 모델을 표현하는데 사용됩니다.
  4. Data Transfer Object (DTO)

    • dto.ts: 데이터 전송을 위한 객체로, Presentation Layer와 Application Layer 사이에서 필요한 데이터 만을 담아서 전달하는 객체로 사용됩니다.

repositoryentity는 주로 Domain Layer에 속하며, 도메인의 모델과 데이터 접근을 책임집니다.

Spring Data JPA 및 Spring Data JDBC와 같은 데이터 접근 기술들이 이 Layer와 상호작용하게 됩니다. 추가적인 정보는 Spring Data JPA Reference DocumentationSpring Data JDBC Reference Documentation에서 확인하실 수 있습니다.

질문에 대한 답변이 도움이 되셨길 바랍니다. 다른 궁금한 점이 있으면 언제든지 문의해 주세요.

Gyuri Kim님의 프로필 이미지
Gyuri Kim

작성한 질문수

질문하기