iOS Architecture: MVVM-C, Introduction (1/6)

Daniel Lozano Valdés
Sudo by Icalia Labs
2 min readOct 4, 2017

Introduction

This will be the first article in a series of six articles detailing my specific implementation or flavor of the MVVM-C iOS app architecture pattern.

If you want a general introduction to the different architectures in the iOS world please check out my previous article where I go over them.

It is a combination of the Model-View-ViewModel architecture, plus the Coordinator pattern. My specific implementation has more parts to it than that but the tech world does not need any more longer and complicated initialisms. MVVM-C is already out there so I’ll just build on top of it.

I recommend going through them in order for it to make the most sense.

1. Introduction (You are here)

2. Scene: Here I go over my concept of a scene and why I think it’s important to modularize the app according to this concept. This may also be referred to as a “use-case”.

3. Coordinator: I go over my implementation of the FlowCoordinator pattern, and it’s relationship to the app’s Scenes.

4. ViewModel: Here I talk about my implementation of the famous MVVM architecture, which in my case is just a small but important part of the architecture as a whole.

5. ViewData: This is the first one of two concepts which I think is really important for my implementation of this architecture, but I don’t think it needs to be added to the name, MVVM-C-VD would be a mess. It is a related concept to the ViewModel but a little different.

6. Service: MVVM-C-VD-S would be even worse! So it’s also not included in the name, but I think it’s really important as well. If you’ve read about the Service Layer pattern you know what I’m talking about. I’ll go over my specific implementation of this pattern and how it fit’s into the whole.

This is how the overall architecture will look. Don’t worry if you don’t understand what each part is doing, once we reach the end of the series it will hopefully all make sense.

MVVM-C

Go ahead to the next article in the series:

iOS Architecture: MVVM-C, Scenes (2/6)

--

--