-
Notifications
You must be signed in to change notification settings - Fork 1
기술문서 ‐ 클린 아키텍처
xb205 edited this page Aug 27, 2023
·
1 revision
설계에서 중요한건 의존성을 잘 배치해서 불필요한 변경
을 최소화 하는것 이라고 생각.
그렇다면, 불필요한 변경
은 무엇인가?
우리가 만드는 애플리케이션인 타임어택 쇼핑몰
을 정책과 세부사항으로 나눠보자.
정책
물건을 판매할 수 있다.
물건은 구매가능한 시간이 정해져있다.
판매할 물건을 등록할 수 있다.
구매할 수 있는 물건을 조회할 수 있다.세부사항
사용자와 어떻게 상호작용할것인지(HTTP? Console?)
어디에 물건을 저장할것인지(DB? 메모장? 메모리?)
우리는 정책 에 해당하는 쇼핑몰 애플리케이션을 만들고 있지, 세부사항 에 해당하는 애플리케이션을 만들고 있지 않다.
즉, 정책 의 변경은 세부사항 까지 이어질수도 있으나, 세부사항 의 변경이 정책 까지 이어지면 이는 변경에 유연한 프로그램이 될 수 없다.
정리해보면, 불필요한 변경
이란 세부사항 의 변경이 정책 까지 이어지는것을 의미하며, 클린 아키텍처
는 변경에 발생하는 비용을 줄여줘 기술선택에 유연함을 줄 것 이라고 생각한다.