MVC: Являются ли модели и объекты сущностями отдельными понятиями? - PullRequest
6 голосов
/ 29 сентября 2010

Я недавно попросил здесь помочь понять MVC, так как я очень новичок в этой теме. Я думал, что у меня было приличное понимание этого, и это задокументировано в сообщении в блоге , которое я недавно написал на эту тему. Мое понимание в основном сводится к следующему:

Контроллер: Определяет, что необходимо сделать для выполнения запроса, и использует любые модели, которые необходимо собрать / изменить по мере необходимости. Это в основном менеджер для данного процесса.

Просмотров: только презентация. Как только контроллер собирает то, что ему нужно, он создает определенный тип представления, передает ему информацию и говорит: «покажите это пользователю, как вы это делаете».

Модели: поведение приложения. Когда контроллер просит его извлечь или изменить что-то, он знает, как это сделать. Он также знает, как запускать другие модели для выполнения связанных задач (в моем понимании, когда модель пытается «проголосовать за что-то» в StackOverflow, эта модель знает, как спросить, должен ли значок также быть предоставлен из-за этого. Контроллер не нужно заботиться об этом).

Мой вопрос, если предположить, что все это более или менее точно, - куда входят объекты сущностей? Модели и сущности - это одно и то же, каждый объект знает, как сохранить свои собственные данные, или сущности - это отдельная концепция, которая существует сама по себе и используется во всем приложении?

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

Если честно, чем больше я читаю о MVC, тем больше путаюсь. Я готов взять базовую концепцию (отдельную презентацию и логику) и работать с ней любым удобным для вас способом, и не слишком беспокоиться о метке "MVC".

Ответы [ 2 ]

5 голосов
/ 29 сентября 2010

Да!

Мои деньги на последнем, так как это позволило бы моделям действовать независимо

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

Например, вы показываете список своих сущностей, какие еще данные вам могут понадобиться? Номер текущей страницы? Общее количество страниц? Настраиваемое сообщение для отображения?

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

Обновление

Вот объяснение MVC в действии ...

Контроллер получает все данные, необходимые для запроса, и помещает их в модель. Затем он передает модель в представление.

Затем представление имеет дело с расположением данных в модели.

0 голосов
/ 29 сентября 2010

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

...