한살차이의 백엔드 프로젝트 폴더 구조는 레이어드 아키텍처를 사용하였습니다. 레이어드 아키텍처는 소프트웨어 시스템을 설계하고 구성하는 데 사용되는 일반적인 디자인 패턴입니다. 다른 책임을 갖는 여러 계층으로 시스템을 분리함으로써 시스템의 유지보수성, 확장성 및 재사용성을 향상시킵니다. 주로 다음과 같은 세 가지 레이어로 구성됩니다.
- 프레젠테이션 레이어 (Presentation Layer):
- 사용자와 시스템 간의 상호 작용을 담당합니다.
- 주로 사용자 인터페이스(UI)를 처리하고 사용자 입력을 수신합니다.
- 사용자 인터페이스, 웹 페이지, 모바일 앱 등과 같은 사용자가 보는 부분을 포함합니다.
- 비즈니스 레이어 (Business Layer):
- 시스템의 비즈니스 로직과 데이터 처리를 담당합니다.
- 비즈니스 규칙을 구현하고 데이터의 처리, 유효성 검사, 로직 처리 등을 수행합니다.
- 프레젠테이션 레이어와 데이터 액세스 레이어 사이에서 중간 계층으로 작용합니다.
- 데이터 액세스 레이어 (Data Access Layer):
- 데이터베이스나 외부 시스템과의 상호 작용을 처리합니다.
- 데이터베이스에 데이터를 읽고 쓰는 등의 데이터 액세스 작업을 담당합니다.
- 데이터베이스 스키마, ORM(Object-Relational Mapping)과 같은 기술을 사용하여 데이터에 접근합니다.