Каковы альтернативы архитектуре MVC для веб-разработки?

Возможный дубликат:
Альтернативы MVC

Я искал альтернативы только для того, чтобы увидеть, что доступно, но я вряд ли что-то нахожу.

Я читал во многих статьях, что веб-MVC никогда не является истинным MVC по некоторым причинам, слишком техничным для меня, чтобы действительно понять. И иногда предлагается искать что-то еще, но что такое elses, каковы другие типы архитектуры? Где я могу узнать больше об этом? Может ли кто-нибудь предоставить более подробную информацию о том, что доступно там?

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

Что еще есть?

Ответ 1

An (уже немного старше) сообщение в блоге от Ларри Гарфилда - лучший ресурс, который я знаю об этой теме:

http://www.garfieldtech.com/blog/mvc-vs-pac

Ответ 2

Извините, вам нелегко переварить сравнения. Но есть, например, шаблон Model-View-Presenter, который заменил MVC, и на самом деле ближе к тому, что практически делает большинство PHP-фреймворков. http://richnewman.wordpress.com/2008/02/26/model-view-presenter-variations-on-the-basic-pattern-introduction-to-cabscsf-part-24/

Статьи, подобные http://c2.com/cgi/wiki?TemplatingInPhp, предполагают, что сам PHP является лучшей моделью для webapps, а шаблоны вместо шаблонов не добавляют достаточных преимуществ.

Помимо PAC существует также Model-View-ViewModel (который в настоящее время является горячей темой на С#, но не в PHP) и Model-Delegate http://c2.com/cgi/wiki?ModelDelegate, которые распространяются на MVC. Но они могут быть не столь полезными для общих веб-приложений.

Ответ 3

Model-View-Controller - довольно хорошая концепция, но интерпретация каркасами может быть разной. Обычно "представление" представляет собой шаблон с некоторой логикой в ​​нем. Модель часто описывается как документ XML или YAML. Наконец, контроллер является частью кода на языке программирования.

Моя предложенная альтернатива основана на объектно-ориентированном дизайне. Просмотр - это объект. Модель - это объект. Контроллер тоже объект. Это открывает возможности для более высокого уровня эффективности, простоты и повторного использования кода.

Этот принцип реализован в моей структуре веб-разработки, и я также описываю его в своем блоге - Объектно-ориентированный MVC