Skip to content

기술문서 ‐ 클린 아키텍처

xb205 edited this page Aug 27, 2023 · 1 revision

클린 아키텍처

설계에서 중요한건 의존성을 잘 배치해서 불필요한 변경을 최소화 하는것 이라고 생각.
그렇다면, 불필요한 변경은 무엇인가?
우리가 만드는 애플리케이션인 타임어택 쇼핑몰을 정책과 세부사항으로 나눠보자.

정책

물건을 판매할 수 있다.
물건은 구매가능한 시간이 정해져있다.
판매할 물건을 등록할 수 있다.
구매할 수 있는 물건을 조회할 수 있다.

세부사항

사용자와 어떻게 상호작용할것인지(HTTP? Console?)
어디에 물건을 저장할것인지(DB? 메모장? 메모리?)

우리는 정책 에 해당하는 쇼핑몰 애플리케이션을 만들고 있지, 세부사항 에 해당하는 애플리케이션을 만들고 있지 않다.
즉, 정책 의 변경은 세부사항 까지 이어질수도 있으나, 세부사항 의 변경이 정책 까지 이어지면 이는 변경에 유연한 프로그램이 될 수 없다.

정리해보면, 불필요한 변경 이란 세부사항 의 변경이 정책 까지 이어지는것을 의미하며, 클린 아키텍처 는 변경에 발생하는 비용을 줄여줘 기술선택에 유연함을 줄 것 이라고 생각한다.

Clone this wiki locally