상세 컨텐츠

본문 제목

[Node.js] 심화 이론 (5) (아키텍처 패턴: MVC / LAP / CA / MSA)

notes

by 서울의볼 2024. 2. 19. 16:43

본문

세 줄 요약:

아키텍처 패턴은 소프트웨어의 구조를 정의하고 시스템 간의 관계와 규칙을 결정하는 기본 틀임. 주요 아키텍처 패턴으로는 MVC, 계층형, 클린, 그리고 마이크로 서비스 아키텍처가 있음.
*계층형 아키텍처는 시스템을 여러 계층으로 분리하여 관리하며, 각 계층은 높은 응집도를 유지하고 다른 계층과의 결합도를 최소화함. 이는 상위 계층이 하위 계층을 사용할 수 있지만, 하위 계층은 상위 계층을 알 필요가 없도록 설계됨.
일반적으로 3계층 아키텍처를 사용하며, 컨트롤러는 요청/응답을 처리하고, 서비스는 비즈니스 로직을 담당하며, 저장소는 데이터베이스와 통신함.

 

  • 아키텍처 패턴이란 소프트웨어의 구조를 구성하기위한 가장 기본적인 토대임. 각각의 시스템들과 그 역할이 정의되어 있고, 여러 시스템 사이의 관계와 규칙 등이 포함되어 있음.
  • 대표적인 아키텍처 패턴은 아래와 같음:
  • MVC패턴 (Model View Controller Pattern)
  • 계층형 아키텍처 패턴(Layered Architecture Pattern)
  • 클린 아키텍처 패턴(Clean Architecture)
  • 마이크로 서비스 아키텍처 패턴(Microservices Architecture Pattern)
  • 내가 주목할 건 계층형임. 계층형은 시스템을 여러 계층으로 분리하여 관리함. 현재 가장 널리 쓰이고 있는 패턴 중 하나라 함. 계층형 아키텍처 패턴은 각 계층을 명확하게 분리해서 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이 목표임.
    • 계층화의 핵심은 각 계층이 높은 응집도(Cohesion)를 가지면서, 다른 계층과는 결합도(Coupling)를 최소화 하는 것임. 여기서 상위 계층은 하위 계층을 사용할 수 있지만, 하위 계층은 자신이 어떤 상위 계층에 속하는지 알 필요없이, 독립적으로 동작할 수 있어야 함.
    • 이번 강의에선 3계층 아키텍처를 활용하였는데 계층 구성은 다음과 같음:
      • 컨트롤러(Controller) : 어플리케이션의 가장 바깥 부분, 요청/응답을 처리. 클라이언트의 요청(Request)을 수신 한 후 서버에서 처리된 결과를 반환(Response)해주는 역할을 담당.
      • 서비스(Service) : 어플리케이션의 중간 부분, API의 핵심적인 동작이 많이 일어나는 부분. 아키텍처의 가장 핵심적인 비즈니스 로직이 수행되는 부분.
      • 저장소(Repository) : 어플리케이션의 가장 안쪽 부분, 데이터베이스와 맞닿아 있음. 실제 데이터베이스와 통신하는 계층.

출처: 스파르타코딩클럽
출처: 스파르타코딩클럽

 

관련글 더보기