cleanarchitecture

    MVVM-C + Clean Architecture 도입기

    MVC의 문제점 iOS 개발을 하시는 분들은 아마 MVC를 가장 먼저 사용해볼 것입니다. apple이 설명하는 Cocoa MVC는 위의 그림과 같습니다. Controller가 View의 life cycle, 비즈니스 로직, 화면 전환 로직 등 대부분의 기능을 하게 됩니다. 간단한 로직이 들어간 뷰에서는 별 문제가 없고 오히려 빠르게 구현할 수 있어서 괜찮지만, 뷰와 비즈니스 로직이 복잡해질수록 뷰, 비즈니스 로직, 화면 전환 로직 등이 얽혀 이해하기 쉽지 않아지는 경험을 했습니다. 또한 View와 Controller의 결합도(Coupling)이 높아서 Controller만 독립적으로 테스트를 하기에도 무리가 생깁니다. ViewController가 20개가 넘어가는 Trinap을 개발을 진행하면서 View..