2Хомяк.
Цитата:
|
Идеологически правильно размещать логику приложения в модели (и, кстати, кто сказал, что модель должна быть монолитом и не слоится, как у вас контроллер?), если вы не согласны, то вообще говорить не о чем...
|
Модели конечно иерархические.
Идеология идеологией, но я не вижу я вообще НИКАКИХ причин чтобы хранить бизнеслогику в модели.
Хотя тут конечно стоит вопрос, что понимать под бизнес логикой.
На самом деле скорее всего подразумевается логика изменения одних данных модели исходя из изменения других данных.
Такое встречается на практике очень редко, хотя и бывает.
Я использовал логику в модели для расчёта движений частиц. Хотя там пришлось отказаться от оповещений при изменении и опрашивать видом (или контроллером - там трудно было разделить что есть что, то ли вид притворяющийся контроллером, то ли контроллер притворяющийся видом, то ли иерархический контроллер), самостоятельно в момент рендеринга - т.е. не совсем mvc.
В подавляющем большинстве моих экзерцисов по использованию MVC и в реальных проектах, данные модели были мало связаны друг и с другом и изменения данных модели чаще приводили лишь к смене состояний либо изменению конкретного значения, за которым должна последовать изменение/реакция от view, но никак не влекли за собой изменения других структур модели.