iOS Dev/Architecture

    iOS MVVM 패턴 구현 정리 ( with RxSwift )

    현재 MVVM + HelperClass 로 구현된 프로젝트를 RxSwift 로 리팩토링하는 작업을 진행하고 있는데, 작업에 참고할 best practices 를 찾는 과정에서 서로 다른 구현 방식들을 보게 되었습니다. 이를 통해 MVVM 은 적은 코드로 각 컴포넌트들을 쉽게 분리할 수 있다는 장점이 있지만 개발자의 관점에 따라서 구현에 차이점이 있다는 것을 알게 되었습니다. ( 특히 MVVM은 마이크로소프트에서 특정 플랫폼에서 사용되도록 고안된 디자인 패턴으로, 각자 iOS 프레임워크 환경에 맞게 적용하는 단계에서 차이가 발생했다고 생각했습니다. ) 이번 게시글에서는 iOS 에서 각 회사, 단체에서 어떻게 MVVM 구현하였는지 정리하고자 합니다. 데이터 바인딩 종류 1. RxSwift 를 이용한 바인딩 ..

    iOS MVC 패턴 ( MVC Pattern )

    디자인 패턴이란 소프트웨어 개발 방법을 공식화한 것입니다. 지금은 매우 다양한 디자인 패턴이 사용되고 있지만 ( MVVM, MVP, VIPER ) 그 중에서 가장 고전적이고 중요한 MVC 패턴에 대해서 다루겠습니다. MVC 패턴 Model : 근본적인 앱이 어떻게 구성되어야 하는가? 에 중점을 가집니다. 알고리즘 ( 계산기 더하기, 빼기 연산 등 ) Controller : 모델에서 데이터를 가져오고, 뷰에 전달하는 역할을 합니다. MVVM 구조에서는 Model 에서 가져오는 역할을 ModelView 가 대신 수행합니다. View : 화면을 보여주는 역할을 합니다. 기본적으로 데이터를 가지고 있지 않습니다. Controller & View 소통 → Action-target 이라는 방식으로 가능합니다. @I..