레이어드 아키텍처는 하위 모듈들의 그룹으로 나눌 수 있는 구조화된 프로그램에서 사용할 수 잇음.
각 모듈은 특정한 수준의 추상화를 제공함. 이 때 상위 계층의 추상화 수준은 일반적으로 다음과 같음
Presentation Layer
Application Layer
Business Layer
Data Access Layer
Nestjs의 경우 3티어 아키텍쳐.
1. 계층별로 모듈을 묶는 추상 기준의 정의
2. 추상 기준에 따라 계층을 몇 레벨로 나눌지 결정
3. 계층마다 역할 및 테스크 부여
4. 계층별 제공서비스를 상세히 정의
5. 계층별 상세 인터페이스 정의
6. 시스템 기능이 계층에서 동작하는 것이 가능한지 확인
(예: 유스케이스 시나리오를 시뮬레이션 하는 방식)
7. 계층 내부에 대한 구조 정의
8. 인접합 계층 간의 동신 방식 정의
9. 예외 처리 방식을 정의