Найти тему
WebDev

MVT в Django или где бизнес-логика?

Всем доброго времени суток!)

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

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

MVC - это шаблон проектирования веб-приложений, который строго (!) делит бизнес-логику и логику отображения.

Model - бизнес-логика

View - логика отображения

Contoroller - соединяет Model и View.

Что я подразумеваю под бизнес-логикой приложения?

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

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

А теперь, моя любимая часть. Что такое MVC в Django.

-2

Разработчики, придумали свой шаблон для проектирования приложений. Называется он MTV.

Model - в этом слое мы описываем базу данных и джанговская orm ее создает.

Views - принимает и обрабатывает запросы, тот же самый controller в MVC.

Template == Views in MVC.

Все бы ничего, но где слой бизнес-логики? А его попросту нет.

Уже в следующей статье я расскажу где писать бизнес-логику и покажу как выглядят обычные проекты на Django и почему стоит придерживаться такого подхода к проектированию.
Спасибо за внимание!) Всем мир!