Когда MVC больше не применяется в крупных проектах?

StackOverflow https://stackoverflow.com/questions/1172364

Вопрос

Использовав некоторые PHP-фреймворки, такие как Codeigniter и Kohana, для некоторых небольших сайтов, я начинаю задаваться вопросом, применим ли MVC по-прежнему для более крупных проектов и, если да, то какие меры предосторожности необходимо предпринять для поддержания чистого clode.Какие методы используют более крупные сайты, чтобы предотвратить это?Использует ли код Amazon или Flickr MVC или какой-то его вариант?Существует ли руководство, которое, учитывая определенную проблему, показывает вам, как лучше всего реализовать MVC для крупных проектов?

-- Касательная --

В текущем проекте, использующем Kohana, я начал задаваться вопросом, какую роль должны играть мои модели.Часто модель может описать только небольшую часть объекта, который я пытаюсь создать.Т.е. нужен объект для пользователя, поэтому я извлекаю своего пользователя из таблицы Users, используя мой Users_Model.Но у каждого пользователя также есть несколько предметов в инвентаре, поэтому мне нужно также использовать Users_Inventory_Model.Но с каждым товаром инвентаря также связаны другие таблицы, и так далее, пока я не обнаружу, что создание одного пользователя в моем контроллере потребовало от меня доступа к нескольким моделям.Теперь представьте, что я делаю это на множестве разных контроллеров, и внезапно я оказываюсь с беспорядочным и избыточным кодом и очень толстыми контроллерами.

Это навело меня на мысль, что, возможно, мне следовало бы иметь библиотеки, которые выполняют большую часть грубой работы.Таким образом, у меня могла бы быть библиотека пользователей, и я позволил бы ей загружать все мои соответствующие пользовательские данные и запускать большую часть логики, такой как обновление, удаление и т.д.Именно так развивается большинство проектов MVC?Позволять библиотекам выполнять большую часть взаимодействия с моделями, в то время как контроллеры вызывают библиотеки и подготавливают данные для представлений?В любом случае, это всего лишь один из возникших у меня вопросов о MVC, на который я не смог найти ответа в Интернете.

Это было полезно?

Решение

На самом деле, это для больших проектов, где все эти MVP и MVC действительно великолепны.Все шаблоны проектирования программного обеспечения "создаются" (помимо создания общего словарного запаса) для работы со сложностью программного обеспечения.Таким образом, при правильном использовании MVC окажет вам большую помощь в больших проектах.

В отличие от небольших приложений, которые могут быть взломаны совместно с помощью только мыши, но являются кошмаром для поддержки, поскольку нет надлежащего разделения и они ТВЕРДЫЙ достаточно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top