Каковы альтернативные "методы проектирования" для Model View Controller? MVC кажется популярным (SO был построен с ним, я знаю это много), но является ли он единственным используемым методом?
Альтернативы MVC
Ответ 1
Есть много других:
-
- Это часто встречается в приложениях WPF (хотя Prism использует шаблон MVP (обычно))
Ответ 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)
- Голые объекты
Они доступны здесь, в Википедии.
Ответ 4
DCI - "Данные, связь и взаимодействие"
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-introduction
http://www.artima.com/articles/dci_visionP.html
Общий смысл ориентированного на объект программирования - MVC vs DCI
Ответ 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, поэтому я считаю, что вы также можете получить некоторые идеи отсюда.