Netwoking 기능을 누가 가질 것이냐. Controller-Owned Networking과 Model-Owned Networking 두 가지 방법을 설명하고 있습니다. Architecture는 MVC로 가정하고 설명을 이어가는데, 전반적으로 Model-Owned 방식이 더 낫다고 합니다. 그 이유로
1. ViewController의 크기가 줄어듭니다. 늘 ViewController가 너무 크다고 불평했었죠.
2. Networking이 캡슐화됩니다. 이 데이터가 네트워크에서 온 것인지 로컬에서 온 것인지 ViewController가 알아야할 필요가 없어집니다.
3. 여러 ViewController들간에 데이터 공유가 쉬워집니다. Model 레이어에서 해당 데이터를 fetch하거나 observe할 수 있습니다.
Fetch한 데이터를 해당 ViewController에서만 사용하는 경우에는 Controller-Owned Networking 방식도 나쁘지 않지만, fetch한 데이터를 다른 ViewController들과 공유해야하는 상황이라면 반드시 Model-Owned Networking을 선택해야 한다고 설명하고 있습니다. 챕터 맨 마지막에 이르러서는 MVC가 아니라 MVVM인 경우에 대해 짤막하게 설명하는데, Model-Owned Networking 방식은 MVC인 경우와 동일하지만, Controller-Owned Networking 방식이 MVVM으로 오면 ViewModel-Owned Networking 방식이 된다고 합니다. 최근 브런치에 시험 중인 방식이 딱 이것인데, networking을 service로 한번 wrap해서 ViewModel이 들고 있도록 하는 방식입니다.
App Architecture. Model-View-Controller+ViewState (0) | 2019.05.06 |
---|---|
App Architecture. Model-View-ViewModel+Coordinator (0) | 2019.01.27 |
App Architecture. Model-View-Controller (0) | 2018.08.21 |
App Architecture. Overview of Application Design Patterns (0) | 2018.08.17 |
댓글 영역