LINUX.ORG.RU

Правильный™ MVC/MTV

 , , ,


0

2

Почитал на вики про паттерн Model-View-Controller, и от секции про ТТУК (толстые тупые уродливые контроллеры) у меня немного пригорело. Но паттерн, который использую я, это скорее MTV - Model-Template-View. Вот при нём где правильно бизнес-логику размещать - в модели или во view?


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

anon1984
()
Последнее исправление: anon1984 (всего исправлений: 2)
Ответ на: комментарий от anon1984

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

Кагбе есть Class-Based Views и микс-ины, а также формы. Куда именно пихать - зависит от конкретного куска бизнес-логики, ящетаю.

heilkitty ★★
()

Хороший вброс. Я за декремент.

А если по существу, то я предпочитаю использовать контроллеры как обработчики одиночного действия пользователя (например, получитьНовостиНаГлагне(), или запоститьКомментВТред()), и если какая-то часть бизнес-логики относится только к одному ОдиночномуДействиюПользователя™, то я стараюсь оформить это в контроллере. Всё, что потенциально может быть использовано более чем в одном ОдиночномДействииПользователя™, я стараюсь отправлять в модели. Это PHP, не спец в этих ваших джангах.

Northsoft ★★
()

Правильный вопрос звучит так: как структурировать модель и в какой ее части размещать бизнес логику.

anonymous
()

Вот при нём где правильно бизнес-логику размещать - в модели или во view?

Вот тебе 3й вариант: logic.py

view отвечает за преобразование Request в HttpResponse. Уместна ли в нем какая-либо «бизнес-логика»?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.