MVC подход для применения CMS - PullRequest
0 голосов
/ 23 июня 2010

Здравствуйте, мне было поручено создать довольно сложное веб-приложение на php, это должна быть пользовательская CMS, которая сможет копировать функциональность и возможности, предоставляемые хорошо известными системами управления контентом, такими как WordPress, Joomla или Drupal.Я должен попытаться интегрировать как можно больше функций, которые эти хорошо известные и мощные системы предоставляют в мое приложение.И, конечно же, еще одно условие, которому я должен соответствовать, - это создавать все с нуля.

Я склонен пойти на разработку шаблонов mvc при создании основного приложения.То есть, я не использовал этот дизайн в проектах такого масштаба.

Мой вопрос для него предназначен для тех из вас, кто использовал mvc в крупных сложных приложениях.И я хотел бы знать, является ли это действительно правильным подходом и с какими подводными камнями я могу столкнуться в проекте такого масштаба.Я также хотел бы знать, если бы кто-нибудь из вас создал довольно сложный cms, используя другой подход, и как бы вы структурировали такое приложение

1 Ответ

3 голосов
/ 23 июня 2010

Лично я бы ручался за Model-View-Controller типа CMS выше всего остального (особенно, если вы разрабатываете как CMS, так и проекты на его основе), но за сложность фактического разделения бизнеса может не повлиять на общий дизайн приложения.

Например ...

  • Планируете ли вы использовать СУБД или какой-либо другой тип персистентности? Является ли использование ORM желательным / необходимым / чрезмерно сложным?
  • Будете ли вы использовать какую-либо платформу или сторонние библиотеки / инструменты для разработки этой CMS ( с нуля - довольно неоднозначное слово)
  • Нужен ли какой-нибудь интерфейс администратора, модули или плагины?
  • Подойдут ли чистые php шаблоны / views / layout для вашей повседневной работы, или вам нужен сложный шаблонизатор (Smarty, Dwoo и т. Д.)?
  • Будет ли эта CMS покрывать сайты с высоким трафиком, требуются ли различные типы внутренних и внешних кэшей?
  • Будете ли вы обрабатывать защищенные данные?
  • Может ли потенциальная функция включать манипуляции с изображениями или другими медиафайлами?
  • Будете ли вы размещать эту CMS самостоятельно или на хостинге Medium-Trust, но не ограничиваться этим?

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

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