우리는 MVVM 구조를 통해서 뷰와 비즈니스 로직을 구분하는 작업을 할 수 있다. 이를 통해서 MVC 패턴이 가지고 있는 Massive View Controller의 문제를 조금이나마 해결할 순 있지만…
앱이 점점 복잡해지면 → 똑같이 View Model이 하는 일이 많아진다.
예를 들어 서버통신, 로직 처리, 데이터 전달 등 viewModel에서 다 감당하게 되는 것.
⇒ So, viewModel의 부담을 줄여주기 위해 Clean Architecture을 도입할 수 있다.
<aside> 🍏 의존성은 외부에서 내부로 향하게 해야하며, 원의 중앙에 있을 수록 서비스 정책에 가깝고 변경에 대한 영향이 가장 크다 라고 밥 형님이 말했던거 같네요.
</aside>
그럼 이제 좀 더 자세히 클린 아키텍쳐의 구조에 대해서 살펴봅시다! 가장 보편적인 영화 검색앱을 기준으로 설명을 해볼게요!
외부 변화가 있을 때 변경될 가능성이 가장 적은, 가장 높은 수준의 규칙을 캡슐화