Что отличает архитектурные паттерны MVC, MVP, MVVM, MVVM-C и VIPER друг от друга?



Эти архитектурные паттерны являются одними из наиболее часто используемых при разработке приложений, как на платформах iOS, так и Android. Разработчики внедрили их, чтобы преодолеть ограничения предыдущих паттернов. Чем же они отличаются друг от друга?



- MVC, самый старый паттерн, появился почти 50 лет назад.

- В каждом паттерне есть "представление" (V), отвечающее за отображение содержимого и прием пользовательского ввода

- Большинство паттернов включают "модель" (M) для управления бизнес-данными.

- "Контроллер", "презентатор" и "представление-модель" - это трансляторы, которые являются посредниками между представлением и моделью ("сущность" в паттерне VIPER).

- Эти трансляторы могут быть достаточно сложными в написании, поэтому были предложены различные паттерны, позволяющие сделать их более удобными в эксплуатации



От себя: имейте в виду, что это не исчерпывающий список архитектурных паттернов. Среди других известных паттернов можно отметить Flux и Redux.



@android_its