Model в MVC

M в MVC

Всем привет! В этом уроке мы добрались до последнего элемента архитектуры MVC, скрывающегося за буквой M. Речь сегодня пойдёт о Model (модели).

Model в MVC – это слой приложения, отвечающий за работу с данными, и содержащий в себе бизнес-логику. Бизнес-логика - это логика приложения, которая описывает то, что требуется от кода со стороны бизнеса. Например, бизнесу требуется, чтобы админ мог создавать записи в блоге. Значит при создании новой записи в блоге нужно проверять, что пользователь, создающий запись, является админом. И конкретно эта логика должна описываться в слое модели.

Таким образом, работа с базой данных, CRUD-операции и бизнес-логика – всё это должно описываться в модели.

Если говорить о моделях в нашем приложении, то это будет класс ActiveRecordEntity и его наследники – ведь именно они работают с базой данных и хранят в себе данные. При этом это не мешает нам создать какие-то дополнительные классы, которые будут промежуточным звеном между классами, реализующими Active Record, и контроллерами. Эти классы тоже могут содержать в себе бизнес-логику, но при этом не будут работать напрямую с базой данных. Они тоже будут относиться к слою модели.

Вот и весь урок о том, что же такое Модель в MVC. Как видите, мы эту часть приложения уже успешно реализовали. Если есть вопросы – задавайте в комментариях.