아키텍처 패턴(Architecture Pattern)
- 소프트웨어의 구조를 구성하기 위한 기본적인 토대가 된다.
- 각각의 시스템과 그 역할이 정해져있고, 시스템 사이의 관계과 규칙이 있다.
- 검증된 구조로 개발하기 때문에 안정적인 개발이 가능해진다.
- 도메인이 복잡할수록 모델이나 코드를 더 쉽게 변경할 수 있다.
계층형 아키텍처 패턴 (Layered Architecture Pattern)
계층을 분리해서 관리하는 패턴이며 현재 가장 흔하게 사용되고 있는 패턴 중 하나이다.
단순하고 대중적이면서 비용도 적게 들어 모든 어플리케이션의 사실상 표준 아키텍처이다.
어떤 경우든 계층을 분리해서 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이 목표이다.
계층화의 핵심은 각 계층은 응집도가 높으면서 다른 계층과 낮은 결합도를 가지고 있어야한다.
상위 계층은 하위 계층을 사용할 수 있지만, 하위 계층은 자신의 상위 계층의 구조를 알 수 없고 사용 또한 못하도록 구성해야 한다.
3계층 아키텍처 (3-Layered Architecture)
3가지의 처리과정을 이용해서 구현한다.
- 컨트롤러(Controller)
계층의 가장 바깥 부분으로 클라이언트의 요청을 받고 응답을 보내준다. - 서비스(Service)
계층의 중간 부분으로 중요한 작동이 많이 일어나는 가장 핵심적인 곳이다. - 저장소(Repository)
계층의 가장 하위 부분으로 DB와 연결되어 있다.
3계층 아키텍처 (3-Layered Architecture) 로직 수행 플로우
- 클라이언트가 요청을 보낸다.
- 요청을 URL에 맞는 컨트롤러가 수신받는다.
- 컨트롤러는 수신한 요청을 처리하기 위해 서비스를 호출한다.
- 서비스는 필요한 데이터를 가져오기 위해 저장소에게 데이터를 요청한다.
- 서비스는 저장소에서 가져온 데이터를 가공하여 컨트롤러에게 데이터를 넘긴다.
- 컨트롤러는 서비스의 결과물을 클라이언트에게 전달해준다.
'Development > Node.js' 카테고리의 다른 글
도메인(Domain)과 엔티티(Entity) (0) | 2023.05.04 |
---|