Альтернативы MVC

Каковы альтернативные "методы проектирования" для Model View Controller? MVC кажется популярным (SO был построен с ним, я знаю это много), но является ли он единственным используемым методом?

Ответ 2

Одна из лучших записей нескольких различных шаблонов интерактивной архитектуры приложения - этот очень подробный и хорошо изученный блог-пост, Он охватывает Model-View-Controller, три разных вкуса Model-View-Presenter, несколько различных вариантов представления-Абстракция-контроль, Контролирующий контроллер, Пассивный просмотр и Иерархический MVC.

Еще одна интересная модель - это шаблон Presenter First от Atomic Objects. Это не только шаблон дизайна, но и шаблон процесса. IOW: имя "Presenter First" не является произвольным, оно фактически описывает процесс разработки, в котором Presenter записывается первым, управляя дизайном остальной системы.

Ответ 3

MVC - это архитектурный шаблон. Это другие архитектурные образцы, которые вы можете попробовать (из Википедии):

  • Слои
  • Многоуровневая архитектура
  • Управление абстракцией презентации (PAC)
  • Модель View Presenter (MVP)
  • Model View ViewModel (MVVM)
  • Трубопроводный
  • Неявный вызов
  • Система Blackboard
  • одноранговая сеть
  • Сервис-ориентированная архитектура (SOA)
  • Голые объекты

Они доступны здесь, в Википедии.

Ответ 5

MVC является частью большей группы шаблонов проектирования. Я не знаю, сколько у вас опыта, поэтому я не уверен, как настроить таргетинг на этот ответ. Я программист .NET, но я нашел книгу Java Head First Design Patterns чрезвычайно полезной. Шаблоны проектирования обычно разбиваются на группы с другими шаблонами, которые помогают решать аналогичные проблемы.

Я также нашел Объект данных Factory. Вы должны оглядываться на некоторые ресурсы на вашем любимом языке.

Ответ 6

Мы используем не столько альтернативу, сколько гибрид, называемый MVC-ARS.

Ответ 7

Я знаю MVCS от Джо Берковиц.

Prof. Kowarschick использовал этот подход для разработки VCLSD -Pattern (вики, написанные на немецком языке! Возможно, у кого-то есть время, чтобы перевести его - как для себя, я только начинаю программировать)

MVCS: служба управления просмотром модели
VCLSD: просмотр данных логической службы контроля

Ответ 8

Некоторые связанные архитектурные шаблоны, о которых ранее не упоминалось, включают

  • Контроллер страницы (используется в Sinatra)
  • MVVM (WPF)
  • Фронтальный контроллер (Java EE)
  • Просмотр шаблона (PHP)

Ответ 9

Как насчет flux.js из Facebook? Я знаю, что это зависит от платформы, но это архитектура потока данных, используемая FB в качестве замены MVC, поэтому я считаю, что вы также можете получить некоторые идеи отсюда.