MVC: Являются ли модели и объекты сущностей отдельными концепциями?

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

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

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

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

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

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

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

6
задан Community 23 May 2017 в 10:29
поделиться