반응형
애플리케이션의 아키텍처 소개와 웹 서비스에서 많이 사용하는 3계층 아키텍처에 대해 소개한다. 계층형 아키텍처를 통해 종속적이지 않는, 유연한 구조로, 테스트에 용이한 개발을 하는데 배경지식을 쌓아보자.
(참고: 각 그림에는 출처로 링크 걸어두었다.)
2.1. 애플리케이션의 아키텍처
애플리케이션의 아키텍처를 설명할 때 많이 언급되는 계층형 아키텍처와 육각형 아키텍처를 소개한다. https://jojoldu.tistory.com/603
- Layered Architecture: 애플리케이션의 아키텍처를 ‘계층’으로 나누어 바라봄
- Hexagonal Architecture: 도메인은 영속성에 독립적으로 존재하기 위해 (육각형의) 제일 안 쪽에 개념이 존재하고, DB, HTTP, API 등 다른 채널들과 통신할 때는 도메인과 채널들 사이에 중간 매체 (Repository, Interactor)를 두어 통신한다.
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 |