Ответ 1
An (уже немного старше) сообщение в блоге от Ларри Гарфилда - лучший ресурс, который я знаю об этой теме:
Возможный дубликат:
Альтернативы MVC
Я искал альтернативы только для того, чтобы увидеть, что доступно, но я вряд ли что-то нахожу.
Я читал во многих статьях, что веб-MVC никогда не является истинным MVC по некоторым причинам, слишком техничным для меня, чтобы действительно понять. И иногда предлагается искать что-то еще, но что такое elses, каковы другие типы архитектуры? Где я могу узнать больше об этом? Может ли кто-нибудь предоставить более подробную информацию о том, что доступно там?
Кстати, я уже читал о трехуровневых архитектурах, которые, на мой взгляд, довольно похожи, если не доказано обратное.Что еще есть?
An (уже немного старше) сообщение в блоге от Ларри Гарфилда - лучший ресурс, который я знаю об этой теме:
Извините, вам нелегко переварить сравнения. Но есть, например, шаблон 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. Но они могут быть не столь полезными для общих веб-приложений.
Model-View-Controller - довольно хорошая концепция, но интерпретация каркасами может быть разной. Обычно "представление" представляет собой шаблон с некоторой логикой в нем. Модель часто описывается как документ XML или YAML. Наконец, контроллер является частью кода на языке программирования.
Моя предложенная альтернатива основана на объектно-ориентированном дизайне. Просмотр - это объект. Модель - это объект. Контроллер тоже объект. Это открывает возможности для более высокого уровня эффективности, простоты и повторного использования кода.
Этот принцип реализован в моей структуре веб-разработки, и я также описываю его в своем блоге - Объектно-ориентированный MVC