레이어드 아키텍쳐 패턴은 웹 서버 구현 시 가장 보편적으로 사용되는 구현 패턴입니다.
SOLID(객체 지향 설계) 원칙의 SRP(단일 책임 원칙)을 근거로 작성된 아키텍쳐로
하나의 모듈, 클래스 또는 함수가 하나의 기능만을 책임지는 패턴입니다.
일반적으로 다음 3개의 계층으로 나누어 집니다.
- presentation layer(표현 계층) = Controller
- business layer(비즈니스 계층) = Service
- data layer(데이터 계층) = Repository
프레젠테이션 계층(표현 계층) = 컨트롤러
- 클라이언트와 통신을 직접적으로 담당하며 클라이언트의 요청을 해석하고 응답하는 계층입니다.
- 클라이언트와 통신하는 API를 제공하며 컨트롤러로 대변됩니다.
- 비지니스 계층으로 요청을 위임하고 받은 결과를 응답하는 역할만 수행합니다.
비지니스 계층 = 서비스
- 프리젠테이션 계층으로부터 요청을 받아 비지니스 로직을 수행하는 계층입니다.
- 비지니스 로직을 수행하는 과정에서 데이터 계층과 통신하며 서비스로 대변됩니다.
데이터 계층 = 리포지터리
- 실제 데이터베이스(RDBMS 혹은 NoSQL)에 접근하는 계층입니다.
- 리포지터리로 대변됩니다.
Node.js 프레임워크인 Express로 레이어드 아키텍처 패턴을 나타내려면 디렉토리 구조를 명확하게 설계하고
서비스 요구사항 변경 또는 추가함에 따라서 필요한 개념을 새로 추가해야 합니다.
'내일배움캠프 노드 4기 > Today I Learned' 카테고리의 다른 글
[Nest.js] 프로젝트 기본 코드 분석 (0) | 2023.02.10 |
---|---|
[Nest.js] 설치하기 (0) | 2023.02.10 |
[Nest.js] Express와 Nest.js (0) | 2023.02.09 |
[EJS][JQuery] DB 정보 수정하기(이미지와 다른 데이터 분리) (0) | 2023.02.08 |
[EJS] for 문 사용해보기 (0) | 2023.02.08 |