В блог

На главную

01.10.2017 04:27:13 | Comments: 0

Model-View-Controller

Все современные приложения базируются на нескольких паттернах. Наиболее популярный - Model-View-Controller (MVC). Это схема разделения струкруты приложения (а именно пользовательского интерфейса и логики) на три части - модель, представление, контроллер.

Такое разделение стало необходимым прежде всего для удобства дальнейшего расширения приложения, распределения работы верстальщика и back-end программиста.

Модель

Чаще всего модель содержит в себе обращение к базе данных. Но не обязательно. Например, вместо базы данных может быть обращение к файлам различных расширений (например, XML).

Модель не обладает знаниями о контроллере, представлении. В модели не хранится информация о том, как будут отображаться данные.

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

Представление получает данные от модели. Но представление не может каким-либо образом влиять на модель. Т.е. представление обладает только правами чтения данных.

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

Контроллер

Контроллер определяет то, какие данные из какой модели должны быть отображены в представлении. Из представления можно влиять на контроллер, а контроллер влияет на модель.

Как все это работает?

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

Заключение

Существуют еще такие паттерны, как MVVM или MVP. Но они вряд ли подойдут для изучения новичками в программировании и они пименяются несколько реже. Разделяя логику приложения посредством паттерна MVC вы облегчаете себе работу, структурируете файлы приложения, выстраиваете четкую логику. На основании этого паттерна основаны такая CMS-система, как OpenCart, фреймворк Yii и другие.