MVC без ORM это не настоящий MVC? - PullRequest
1 голос
/ 17 апреля 2010

на данный момент я интегрирую ORM (доктрину) в инфраструктуру MVC (codeigniter).

тогда меня поразило, что это был очевидный способ настройки MVC:

контроллер вызывает модели, представляющие таблицы базы данных.

посмотрите на эту картинку:

MVC + ORM

тогда я удивился, как MVC без ORM может быть настоящим MVC? Потому что тогда модели не являются реальными объектами, а представляют собой совокупности различных функций, которые выполняют CRUD, а затем возвращают результат в контроллер. и нет необходимости в состоянии (свойства объекта), я полагаю, что все функции будут статическими?

поправьте меня, если я ошибаюсь.

Полагаю, многие люди используют модели без ORM. Пожалуйста, поделитесь своими мыслями. как выглядят ваши модели?

Ответы [ 3 ]

10 голосов
/ 17 апреля 2010

MVC - это шаблон пользовательского интерфейса общего назначения, изначально разработанный для ОО-языков (я думаю, Smalltalk был первым).

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

Два совершенно различны и могут существовать друг без друга.

3 голосов
/ 17 апреля 2010

MVC не имеет ничего общего с объектами. Это делает довольно простым иметь MVC без ORM.

1 голос
/ 17 апреля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...