Layered Pattern은 백엔드 API에 가장 널리 적용되는 패턴 중 하나다.
논리적 부분, 역할에 따라 독립된 모듈이 층층히 쌓듯이 연결 되어 레이어를 쌓아놓은 것 같은 구조가 된다고 하여 레이어 패턴이라고 한다.
시스템을 사용하는 사용자, 클라이언트 시스템과 연결되는 레이어다.
백엔드 API의 엔드포인트에 해당하며, HTTP 요청을 읽는 로직을 구현한다. 그 이상의 역할, 로직은 다음 레이어로 전달 한다.
시스템이 구현해야 하는 로직, 역할을 구현하는 레이어다.
회원가입시 비밀번호에 조건을 거는등 운영에 필요한 로직이 들어 있는 레이어다.
DB와 관련된 로직을 구현하는 레이어다.
DB의 데이터 생성, 수정, 읽기를 처리하는 역할을 한다.
Layered Pattern의 핵심 요소는 단방향 의존성과 관심사 분리이다.
단방향 의존성은 레이어는 자기보다 하위에 있는 레이어에만 의존하고 있음을 의미한다.
관심사 분리는 레이어는 역할이 명확히 구분되어 있어 역할의 중첩이 없음을 의미한다.
https://velog.io/@kisuk623/Layered-Architecture-Pattern-%EB%AA%A8%EB%93%88%ED%99%94
ex) user 필드를 선택적으로 Request 객체에 추가
이는 로그인한 사용자의 정보를 저장하거나, 로그인하지 않은 사용자에 대한 요청을 처리에 사용
사용자 인증 기능을 구현하는 데 필요한 기본적인 설정을 제공
위와 같은 형식으로 디렉터리를 구조화 하였으며 데이터 넘어가는 형식을 다음 포스팅에 정리할 예정!!