반응형
아키텍처를 설계한 것을 보면서 어떤 api는 DB에 바로 접근하는 것을 볼 수 있었고, 어떤 api는 서비스 레이어를 거쳐 db에 접근하는 것이 있었다.
이를 통해 왜 서비스 레이어를 사용하는가에 대한 궁금증이 생겼다.
서비스 레이어란 무엇일까?
서비스 레이어는 애플리케이션에서 비즈니스 로직(업무 규칙)을 처리하는 중간 계층이다.
API 레이어는 요청과 응답만 처리하고, 서비스 레이어는 데이터 가공 및 검증 등 비즈니스 로직을 담당한다.
서비스 레이어가 없다면?
서비스 레이어가 없으면 비즈니스 로직과 API 로직이 섞이게 된다.
같은 로직이 반복되면 유지보수가 어려워지고, 로직이 복잡해지면 API 레이어가 비대해지며, 로직 수정 시 API 코드까지 수정해야한다.
원래는 API 레이어가 요청을 받아 비즈니스 로직을 직접 수행하는데 이것을 서비스 레이어가 대신 하게 되는 것이다.
서비스 레이어를 도입하면
api는 요청과 응답만 처리하고 비즈니즈 로직은 서비스 레이어가 한다.
서비스 레이어는 비즈니스 로직을 수행하고 DB와 직접 상호작용을 한다.
++
서비스 레이어를 다른 API나 외부 서비스에서 호출할 수 있다.
같은 비즈니스 로직이 여러 API에서 반복되는 것을 막을 수 있다.
수정이나 기능 확장이 쉽다.
'Development > APIs' 카테고리의 다른 글
HTTP 204 상태 코드 처리 오류 (0) | 2024.09.20 |
---|---|
고객 관리 프로젝트 구조 분석하기 - 각 Layer의 역할 (1) | 2024.09.12 |
고객 정보 CRUD api 구현 (0) | 2024.09.11 |