테스트코드/작성방법

2. Layered Architecture

feel2 2024. 3. 26. 07:40
반응형

애플리케이션의 아키텍처 소개와 웹 서비스에서 많이 사용하는 3계층 아키텍처에 대해 소개한다. 계층형 아키텍처를 통해 종속적이지 않는, 유연한 구조로, 테스트에 용이한 개발을 하는데 배경지식을 쌓아보자.
(참고: 각 그림에는 출처로 링크 걸어두었다.)

 

2.1. 애플리케이션의 아키텍처

애플리케이션의 아키텍처를 설명할 때 많이 언급되는 계층형 아키텍처와 육각형 아키텍처를 소개한다. https://jojoldu.tistory.com/603

  • Layered Architecture: 애플리케이션의 아키텍처를 ‘계층’으로 나누어 바라봄
  • Hexagonal Architecture: 도메인은 영속성에 독립적으로 존재하기 위해 (육각형의) 제일 안 쪽에 개념이 존재하고, DB, HTTP, API 등 다른 채널들과 통신할 때는 도메인과 채널들 사이에 중간 매체 (Repository, Interactor)를 두어 통신한다.

3 계층 아키텍처

 

 

Spring Web 계층

 

 

육각형 아키텍처 구성

 

 

 

2.2. 3 계층 아키텍처

3 계층 아키텍처는 애플리케이션을 크게 3 계층으로 나누어 본다.
사용자와 상호작용하는 (사용자의 요청을 처리하는) Presentation 계층, 비지니스 로직이 있는 (핵심 로직) Service 계층, 데이터 접근 계층인 (DB에 접근 및 영속성을 다루는) Persistence 계층이 있다.
계층으로 분리하여 다룸으로써, 관심사 별로 애플리케이션의 계층을 나누어 계층간 결합도를 낮추고, 한 계층을 독립적으로 다루어, 결과적으로 한 계층의 변경이 다른 계층의 구성 요소에 영향을 미치지 않도록 한다.
https://www.ibm.com/kr-ko/topics/three-tier-architecture

반응형

'테스트코드 > 작성방법' 카테고리의 다른 글

6. Presentation Layer Test  (1) 2024.03.26
5. Business Layer Test  (1) 2024.03.26
4. 외부 시스템과의 연계 테스트  (1) 2024.03.26
3. Persistence Layer Test  (0) 2024.03.26
1. Basic Unit Test  (0) 2024.03.26