웹서버 - 레이어드 아키텍처(Layered Architecture)
2023. 9. 14. 20:35ㆍIT 개발지식/Node.js, 네트워크
레이어드 아키텍처(Layered Architecture)
Controller -> Service -> Repository -> Entity or Model의 패턴은
일반적으로 "레이어드 아키텍처(Layered Architecture)" 또는 "N-Tier Architecture"라고 불린다.
이 아키텍처에서 각 레이어는 다음과 같은 역할을 함
- Controller: 사용자의 요청을 받아 처리하는 역할. 요청을 받으면 적절한 서비스 로직을 호출하고 응답을 반환
- Service: 비즈니스 로직을 담당. 컨트롤러로부터 요청을 받으면 필요한 비즈니스 규칙을 실행하고, 데이터 접근을 위해 리포지토리를 호출할 수 있음
- Repository: 데이터베이스와의 CRUD(Create, Read, Update, Delete) 작업을 수행하는 역할. 보통 개별 모델 또는 엔터티에 대한 쿼리 로직을 포함함
- Entity or Model: 데이터베이스의 테이블과 1:1로 대응되는 구조를 갖는 데이터 객체. ORM(Object-Relational Mapping) 도구를 사용할 경우, 이 모델 또는 엔터티는 데이터베이스 테이블의 스키마와 일치할 수 있음
이러한 아키텍처의 주요 장점은 각 레이어의 책임이 명확하게 구분되어 있어 유지보수와 확장성이 용이하다는 것