본문 바로가기
Node 공부

계층형 아키텍처 패턴 (Layered Architecture Pattern)

by 새싹개발자1호 2024. 6. 11.

계층형 아키텍처 패턴 (Layered Architecture Pattern)
- 시스템을 여러 계층으로 분리하여 관리하는 아키텍처 패턴입니다. 
- 현재 가장 널리 채택되고 있는 아키텍처 패턴중 하나입니다.

  • 단순하고 대중적이면서 비용도 적게 들어 사실상 모든 어플리케이션의 표준 아키텍처
  • 어떤 아키텍처 패턴을 도입할지 확인이 없을 때에는 계층형 아키텍처 패턴은 좋은 선택지가 될수있음
  • 각 계층을 명확하게 분리해서 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이 목표

모든 의존성은 위에서 아래로

  • 계층화의 핵심은 각 계층이 높은 응집도 를 가지면서, 다른 계층과는 결합도 를 최소화 하는것입니다.

 

계층형 아키텍처 패턴의 장점

  1. 관심사를 분리하여 현재 구현하려하는 코드를 명확하게 인지할수 있습니다
  2. 각 계층은 서로 독립적이며, 의존성이 낮아 모듈을 교체하더라도 코드 수정이 용이합니다
  3. 각 계층별로 단위 테스트를 작성할 수 있어 테스트 코드를 조금 더 용이하게 구성할수 있습니다

3계층 아키텍쳐

  • 컨트롤러(Controller): 어플리케이션의 가장 바깥 부분, 요청/응답 을 처리
    -클라이언트의 요청(Request) 을 수신 한 후 서버에서 처리된 결과 응답(Response)해 주는 역활
  • 서비스(Service): 어플리케이션의 중간 부분, API의 핵심적인 동작이 많이 일어나는 부분
    -아키텍처의 가장 핵심적인 비지니스 로직이 수행되는 부분
  • 저장소(Repository):어플리케이션의 가장 안쪽 부분, 데이터베이스와 맞닿아 있음.
    -실제 데이터베이스와 통신하는 계층

 

'Node 공부' 카테고리의 다른 글

계층형 아키텍쳐 형식으로 리팩토링 해보기  (0) 2024.06.12
아키텍처 패턴 Architecture Pattern  (0) 2024.06.11
객체 지향 프로그래밍 OOP  (1) 2024.06.10
객체 지향  (0) 2024.06.10
MySQL 트랜잭션  (0) 2024.06.09