개발자가 아키텍처에 집착하는 이유 - 우아콘2022

계층형 아키텍처

- 목적이 같은 코드들은 분리 하였지만 각 계층이 결합됨.
클린 아키텍처

- 핵심 업무 규칙
- 기업이 고객에게 전달 하고자 하는 핵심 요소.
- Use Case : 어플리케이션 기능(사용 사례, 어플리케이션을 어떻게 사용할 수 있는지에 대한 방법).
- Entities : 기업의 핵심 업무 규칙.
- 의존성 방향이 밖에서 안으로만 의존해야 한다.
- 밖이 변경되도 안쪽의 고수준 정책은 변경되지 않기 위해.
- 아키텍처가 무엇에 집중하고 강조하는지 강조하기위해.

- 어댑터를 두어 계층간 데이터 변환
- 인터페이스를 두어 의존성 역전
- Entity의 변화가 발생 하여도 Use case 까지만 변화가 전파된다.
- 한번 정해진 인터페이스(약속)는 잘 변화하지 않는다. 어댑터, Use case는 인터페이스의 규칙를 지키면서 기능이 추가, 변경 된다.
- 서비스의 기획, 회사 정책의 변화로 인하여 변경될 수 있다.
- EX)
- 이런 아키텍처를 헥사고날 아키텍처라고 부른다.
그래서, 아키텍처의 목표는...
Link