
백엔드 API를 구현할때 널리 쓰이는 패턴중 레이어드 아키텍처(Layered achitecture) 패턴이 있습니다.
레이어드 아키텍쳐로 API를 구현할때는 역할에 따라 독립된 모듈로 나누어서 코드를 구현합니다.
일반적으로 presentation layer, business layer, persistence layer 이렇게 3개의 레이어가 있으며, 3개의 레이어가 층층히 의존도에 따라 연결되어 전체 시스템을 구성합니다.

presentation layer에서 API의 엔드포인트를 정의하고 전송된 HTTP요청들을 읽어 들이는 로직을 구현합니다.business layer에서 구현하게 됩니다.예를들어서 1000자 이하의 글을 쓸 수 있는 게시판을 구현한다면 1000자가 넘는지 안넘는지 확인하고 1000자가 넘으면 게시글을 저장할 수 없게 합니다.
persistence layer에서는 데이터베이스와 관련된 로직을 구현합니다.
business layer에서 필요한 데이터의 생성, 수정, 읽기, 삭제를 처리하고 실제 데이터베이스에서 데이터를 저장, 수정 읽어 들이는 역할을 합니다.
presentation layer는 business layer에만 의존 합니다.
business layer는 persistence layer에만 의존 합니다.
같은 의미로
business layer는 presentation layer에 독립적입니다.
persistence layer는 business layer에 독립적입니다.
presentation layer에는 비즈니스 로직이 전혀 구현 되어있지 않으며,
비즈니스 로직을 처리하기 위해서는 presentation layer에서 business layer를 호출해야 합니다.