Паттерн MVC на языке Swift. iOS разработка.

Паттерн проектирования Model-View-Controller (MVC) это такой паттерн, в основе которого лежат три сущности: модель, контроллер, представление. Суть этого паттерна заключается в разделении кода приложений по трем ролям соответственно.

model-view-controller

Одна часть кода отвечает за представление пользовательского интерфейса, другая часть кода за логику хранения и обработки модели данных приложения, и последняя соединяет предыдущие 2 части через посредника, с помощью которого происходит взаимодействие между видом и моделью.


Подробнее ознакомиться с данным паттерном ты можешь посмотрев видео, в котором я на примере объясняю, как следовать данной модели при написании приложений для iOS.


Модель

Объекты модели инкапсулируют данные, специфичные для приложения, и определяют логику и вычисления, которые манипулируют и обрабатывают эти данные. Например, объект модели может представлять персонажа в игре или контакт в адресной книге. Объект модели может иметь отношения «один или несколько» с другими объектами модели, поэтому иногда слой модели приложения фактически представляет собой один или несколько графов объектов.

В идеале объект модели не должен иметь явного соединения с объектами представления, которые отображают его данные и позволять пользователям редактировать эти данные - его не должны беспокоить проблемы пользовательского интерфейса и представления.

Связь

Действия пользователя на уровне представления, которые создают или изменяют данные, передаются через объект контроллера и приводят к созданию или обновлению объекта модели. Когда объект модели изменяется (например, новые данные принимаются через сетевое соединение), он уведомляет объект контроллера, который обновляет соответствующие объекты представления.

Представление

Объект представления - это объект в приложении, который могут видеть пользователи. Объект представления может реагировать на действия пользователя. Основная цель объектов представления - отображать данные из объектов модели приложения и обеспечивать возможность редактирования этих данных. Несмотря на это, объекты представления обычно отделены от объектов модели в приложении MVC.

Связь

Объекты представления узнают об изменениях в данных модели через объекты контроллера приложения и сообщают изменения, инициированные пользователем (например текст, введенный в текстовое поле) объектам модели приложения.

Контроллер

Объект контроллера действует как посредник между одним или несколькими объектами представления приложения и одним или несколькими объектами его модели. Таким образом, объекты контроллера являются каналом, через который объекты представления узнают об изменениях в объектах модели и наоборот. Объекты контроллера также могут выполнять задачи настройки и координации для приложения и управлять жизненными циклами других объектов.

Связь

Объект контроллера интерпретирует действия пользователя, выполняемые в объектах представления, и передает новые или измененные данные на уровень модели. Когда объекты модели изменяются, объект контроллера передает эти новые данные модели объектам представления, чтобы они могли их отображать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *