1. 액터 & 유스케이스 분석하기
- 단일 책임 원칙에 따라 액터(시스템의 기능 변경의 주요 원인)를 구분함
- 한 액터를 위한 변경이 다른 액터에 영향을 주지 않도록 설계함
- 기능 변경의 이유는 반드시 특정 액터에게 해당 기능을 제공하기 위함이어야 함
- 여기서 ‘기능’이란 프레임워크나 DB 기술이 아니라, 비즈니스 요구사항을 의미함
2. 컴포넌트 아키텍처 설계하기
- 독립된 배포 단위는 개발 팀과 협의하여 결정함
- 배포 단위 설정 예시:
- 같은 액터의 기능별로 배포
- 뷰, 프레젠터, 인터랙터, 컨트롤러 등 동일한 역할을 수행하는 컴포넌트끼리 묶어서 배포
- 뷰와 프레젠터를 묶어서 배포
- 배포 단위는 상황에 따라 변경될 수 있으므로 유연한 구조로 개발함
- 배포 단위 설정 예시:
3. 의존성 관리 체크하기
- 컴포넌트의 의존성이 더 높은 수준의 정책을 포함하는 컴포넌트로 향하는지 점검함
- 고수준 컴포넌트가 저수준 컴포넌트를 의존하는 경우, 인터페이스를 활용해 의존성을 역전시킬 것
※ 본 글은 『Clean Architecture』(로버트 C. 마틴 저) 5부 33장을 기반으로 학습 목적으로 요약한 글입니다.
※ 이 글은 책의 내용을 요약한 것으로, 원문 없이 읽을 경우 오해의 여지가 있을 수 있습니다. 정확한 이해를 위해 원서의 정독을 권장합니다.
'아키텍처' 카테고리의 다른 글
Clean Architecture 정리 - 5부 34 다양한 아키텍처 (3) | 2025.08.13 |
---|---|
Clean Architecture 정리 - 5부 30 - 32 000은 세부사항이다. (0) | 2025.08.03 |
Clean Architecture 정리 - 5부 29장 클린 임베디드 아키텍처 (0) | 2025.07.29 |
Clean Architecture 정리 - 5부 28장 테스트 경계 (0) | 2025.07.28 |
Clean Architecture 정리 - 5부 27장 크고 작은 모든 서비스들 (2) | 2025.07.28 |