아키텍처

레이어드 아키텍처

SH.DevBlog 2023. 11. 9. 14:02
728x90

# 레이어드 아키텍처란?

  • 여러 개의 개별 수평 계층으로 구성된 아키텍처 구조로 서로 독립적인 계층 구조를 가진 아키텍처를 레이어드 아키텍처라고 한다. 구조의 이미지는 아래 그림과 같다.

 


# 특징

  • 각 계층이 마치 Linking 구조처럼 다음 Layer에 대해서만 연결돼 있다.(Layer1 -> Layer2 -> Layer3 이런식으로)
  • 각 레이어 마다 담당하는 역할이 다르기 때문에 기능이 분리돼 있다. 이 말은 즉, 커플링 관계가 낮으며 이는 유지보수에 좋다. (각 역할이 분리돼 있다는 말의 의미 -> '관심사 분리'라고 한다.)

# 레이어드 아키텍처의 구성요소

  • Presentation Layer – 유저와의 상호작용을 책임지는 영역
  • Application/Business Layer – 비즈니스 로직을 책임지는 영역
  • Domain Layer – 알고리즘 및 프로그래밍 구성 요소를 담당하는 영역
  • Infrastructure/Persistence/Database Layer – 데이터와 데이터베이스를 담당하는 영역

# 장점

  • 사용하고 도입하기 쉽다.
  • 각 레이어간의 의존도가 낮다.
  • 각 레이어가 분리돼 있어서 테스트하기 쉽다.
  • 오버헤드가 적다.

# 단점

  • 구조가 정해지면 확장성이 용이하지 않다.
  • 병렬처리가 불가능하다.
728x90