아키텍처의 목적 소프트웨어를 쉽게 변경할 수 있는 구조로 설계해 유지보수를 쉽게 하는 것 의존성 소프트웨어 : 도메인(핵심 프로세스) + 인프라스트럭처(도메인을 소프트웨어로 제공하기 위한 DB, API, UI 등) 무수히 많은 의존성으로 연결되어있음. 계층형 아키텍처 : 목적이 같은 코드들을 계층으로 그룹화 (관심사의 분리) 프레젠테이션 계층 (UI) - 도메인 계층 (업무 로직) - 영속성 계층 (데이터 DB, API) 연쇄적 참조 문제 -> 의존성 높아짐 -> 코드 변경이 어려움(참고 하고 있는 모든 곳에 영향), 테스트도 쉽지 않음 특히 도메인 계층의 업무로직이 수시로 UI 와 데이터 변경의 영향을 받는다는 것이 문제. 일반적으로 도메인 로직 보다 UI, 데이터 변경이 더 빈번한데, 이것이 업무 로..