작성
·
10
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Gyuri Kim님께서 문의하신 Nest.js의 레이어드 아키텍처 구조에 대해 설명드리겠습니다.
Presentation Layer
controller.ts
: 요청을 받고, 적절한 서비스 메서드를 호출하여 결과를 반환합니다.Application Layer
service.ts
: 비즈니스 로직을 처리합니다. 요청에 따라 필요한 작업을 수행합니다.Domain Layer
repository.ts
: 데이터베이스와의 상호작용을 담당합니다. Spring Data JPA와 유사하게 보통 데이터 저장소에 대한 접근을 제공하는 역할을 합니다.entity.ts
: 데이터베이스의 테이블에 매핑되는 도메인 객체를 정의합니다. 도메인 모델을 표현하는데 사용됩니다.Data Transfer Object (DTO)
dto.ts
: 데이터 전송을 위한 객체로, Presentation Layer와 Application Layer 사이에서 필요한 데이터 만을 담아서 전달하는 객체로 사용됩니다.repository
와 entity
는 주로 Domain Layer에 속하며, 도메인의 모델과 데이터 접근을 책임집니다.
Spring Data JPA 및 Spring Data JDBC와 같은 데이터 접근 기술들이 이 Layer와 상호작용하게 됩니다. 추가적인 정보는 Spring Data JPA Reference Documentation와 Spring Data JDBC Reference Documentation에서 확인하실 수 있습니다.
질문에 대한 답변이 도움이 되셨길 바랍니다. 다른 궁금한 점이 있으면 언제든지 문의해 주세요.