Clean Architecture
Clean Architecture란?
Clean Architecture란 Architecture Pattern으로 기존의 계층형 아키텍처가 가지는 의존성에서 벗어나도록 하는 설계를 제공한다.
클린 아키텍처의 핵심 원칙
- 관심사의 분리 (Separation of Concerns):
각 계층은 고유의 책임만 가진다. 이를 통해 변경이 필요한 코드의 범위를 최소화한다.
- 의존성 역전 (Dependency Inversion):
의존성의 방향이 바깥에서 안쪽으로 향하며, 안쪽 계층은 바깥쪽 계층을 모른다. 이를 통해 핵심 로직이 외부 변화에 영향을 받지 않는다.


클린 아키텍처는 아래와 같은 4개의 동심원 계층으로 구성된다.
- Entities (엔티티):
- 핵심 비즈니스 로직을 포함한다.
- 플랫폼 독립적으로 설계되어 모든 환경에서 재사용 가능하다.
- Use Cases (유즈케이스):
- 특정 비즈니스 작업 단위를 정의한다.
- 데이터를 조작하고 엔티티와 상호작용하여 비즈니스 요구사항을 충족한다.
- Interface Adapters (인터페이스 어댑터):