Сведения о вопросе

Electro Full

17:50, 1st August, 2020

Какие существуют альтернативы Model-View-Controller?

Просмотров: 668   Ответов: 10

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



  Сведения об ответе

appple

00:38, 14th August, 2020

  1. Пассивный Вид - http://martinfowler.com/eaaDev/PassiveScreen.html
  2. Управляющий Контроллер- http://martinfowler.com/eaaDev/SupervisingPresenter.html
  3. Model-View-Presenter - http://martinfowler.com/eaaDev/ModelViewPresenter.html

Мой личный фаворит-это пассивный взгляд . Более проверяемый, чем другие, которые я видел, включая MVC.


  Сведения об ответе

SSESION

07:39, 28th August, 2020

Некоторые другие архитектурные образцы, включая MVC.

многоуровневая система

TCP / IP

Объектно-Ориентированная Организация

Model-View-Controller , Presentation-abstraction-control , модели представления телеведущая и модель представления ViewModel .

Примерами могут быть ASP.NET's MVC, Ruby на Rails и куча других.

Неявный вызов на основе событий

Среда браузера (DOM)

Архитектура труб и фильтров

Unix трубы

Хранилища

Переводчики С Табличным Управлением


Вы также можете найти эту статью Гарлана & шоу по программной архитектуре приятным чтением.

Еще одной примечательной ссылкой была бы Статья об архитектурных образцах в Википедии .


  Сведения об ответе

PIRLO

15:15, 24th August, 2020

Я иногда видел MVC без C, где представление прослушивает изменения в данных модели и изменяет рендеринг соответственно, и где методы в модели привязаны к обработчикам событий для представления.

Для проектов, где представление по необходимости тесно связано с данными (например, когда есть визуальные компоненты, непосредственно связанные с моделью или атрибутами модели), это может быть весьма полезно, Так как оно отсекает "middle man."

Я думаю, что многие будут утверждать, что это все еще MVC, просто гибридная версия, и что привязки, установленные между представлением и моделью, являются логикой контроллера.


  Сведения об ответе

VCe znayu

11:39, 1st August, 2020

Ну, есть Model-View-Presenter, но я думаю, что вы обнаружите, что наиболее распространенные "alternative"-MVC-это действительно отсутствие надлежащего разделения. В качестве крайнего примера рассмотрим классические страницы ASP, где HTML, VBScript и SQL находятся side-by-side в одном файле. (Это не bash из ASP-вы найдете множество таких примеров в других языках.)


  Сведения об ответе

darknet

21:06, 1st October, 2020

Хотя приведенные выше ответы вполне корректны, я думаю, что гораздо важнее отметить, что слова "design pattern" совершенно неизвестны 90% всех людей, которые создают программное обеспечение. Они просто начинают писать код.

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


  Сведения об ответе

P_S_S

09:44, 4th August, 2020

Ну, теперь он уже совсем старый. Я хотел бы упомянуть еще один (в интересах информации для получения дополнительных знаний) - PresenterFirst patrern

Вот еще информация о том же самом:

http://en.wikipedia.org/wiki/Presenter_First

http://www.atomicobject.com/pages/Presenter+первый

HTH


  Сведения об ответе

SSESION

06:54, 27th August, 2020

Семейство шаблонов Presentation-Abstraction-Control (PAC), где интерфейс/взаимодействие обрабатываются иерархией агентов.

Статья в Википедии не велика http://en.m.wikipedia.org/wiki/Presentation-abstraction-control


  Сведения об ответе

DAAA

16:24, 22nd August, 2020

В веб-фреймворке Lift мы используем подход View First . В основном представление состоит из одного или нескольких фрагментов (несколько похожих на контроллеры), и фрагменты могут быть вложенными. Это очень хорошо работает с HTML и Scala встроенными возможностями обработки XML.


  Сведения об ответе

lourence

14:46, 29th August, 2020

А как насчет модели наблюдателя ? Если я не ошибаюсь, MVC был введен в Smalltalk, и после этого появилось несколько шаблонов подписки publish/.

Шаблон наблюдателя (подмножество шаблона публикации / подписки) - это шаблон проектирования программного обеспечения, в котором объект, называемый субъектом, поддерживает список своих зависимых объектов, называемых наблюдателями, и автоматически уведомляет их о любых изменениях состояния, обычно вызывая один из их методов. Он в основном используется для реализации распределенных систем обработки событий.

Например: кнопка Сохранить включается в Редакторе только тогда, когда есть данные, которые нужно сохранить. Другой пример шаблона наблюдателя-архитектура представления документа в MFC, где представление обновляется при изменении документа .


  Сведения об ответе

DAAA

21:03, 16th August, 2020

Вы можете свернуть свой собственный MVC с текущим фреймворком ASP.NET и при этом сохранить модель обратной передачи.

http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться