Layered Architecture
Layered Architecture
1절. Layered Architecture
계층화 아키텍처
- 각 구성요소들이 ‘관심사의 분리(Separation of Concerns)’ 달성을 위해 ‘책임’을 가진 계층으로 분리한 아키텍처
SoC(Separation of Concerns)
- 관심사의 분리
- 소프트웨어 개발에서 가장 기본적인 원칙 중 하나
- 하나의 단일 블록이 아닌 작은 조각으로 나눠 간단한 개별 작업을 완료할 수 있도록 만드는 것
SoC의 이유
- 계층의 응집도 상승
- 계층의 결합도 하락
- 결과적으로 재사용성과 유지보수성 상승
2절. 의존성
계층화 아키텍처 의존성
- 한 계층에서 자신의 책임 외 행위는 하위 계층에 의존적인 구조
- 하위 계층은 상위 계층에 대한 어떤 지식이나 정보가 없는 구조
- 대부분 3계층 or 4계층으로 구성
- 3계층 : Persistence -> Business에 흡수 / Database를 시스템 외부로 보고 제외
- 4계층 : Presentation / Business / Persistence / Database
3절. 계층
Presentation Layer
- 사용자 요청 및 응답을 처리하는 책임
| 역할 |
|---|
| Client 요청 수신 |
| 기본적인 요청 내용 검증 |
| 수행 결과 Client 반환 |
Business Layer
- 비즈니스 로직을 수행하는 책임
| 역할 |
|---|
| 비즈니스 로직 수행 |
| Persistence Layer 요청 전송 |
| 전달할 데이터 생성 |
Persistence Layer
- DB와 상호작용(CRUD)하는 책임
| 역할 |
|---|
| SQL문을 사용해 DB에 저장 및 조회 |
Database Layer
- DB가 존재하는 책임
| 역할 |
|---|
| 실제 DB 위치 |
This post is licensed under CC BY 4.0 by the author.
