Это в MVC, шаблон проектирования или архитектурного рисунка


по данным Солнце и Msdn это шаблон проектирования.

по данным Википедия это архитектурный шаблон

по сравнению с шаблонами проектирования, архитектурные шаблоны больше по масштабу. (Wikipedia -архитектурно шаблон)

или это архитектурный образец, который также имеет шаблон дизайна ?

какой из них является истинным ?

10 85

10 ответов:

MVC-это скорее архитектурный шаблон, но не для полного применения. MVC в основном относится к уровню пользовательского интерфейса / взаимодействия приложения. Вам все равно понадобится уровень бизнес-логики, возможно, какой-то уровень обслуживания и уровень доступа к данным. То есть, если вы занимаетесь N-уровневым подходом.

Почему один из них должен быть правдой?

оба могут быть истинными, в зависимости от точки зрения.

MVC может быть архитектурным шаблоном, если он образует основу архитектуры приложения.

Это также можно рассматривать как просто шаблон проектирования, абстрактное понятие, которое применимо к любому приложению.

шаблоны проектирования скажите, как писать код эффективно (учитывая Метрики Кода).

несколько преимуществ:

  1. Легко Ремонтопригодны
  2. высокий повторного использования
  3. читается из-за абстракций

архитектурные шаблоны скажите, как эффективно использовать ресурсы.

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

в MVC, a). представления могут быть созданы с помощью шаблонов javascript, а также html может быть использован b). контроллеры могут быть написаны .NET framework и c). модели могут быть написаны на Java-может использоваться служба java, которая возвращает только данные json.

в то время как в шаблон дизайна, шаблон Не могу будет реализовано в которой код может быть написан в нескольких технологиях, таких как AdminUser class в Java, Класс Customer в C#, класс Partners в Php и заводской шаблон в Ruby :); hmmm..so легко?:)

Я знаю, что на него ответили некоторое время назад, но никто еще не упомянул книгу, которая сделала MVC знаменитой: Pattern-Oriented Software Architecture (POSA), Buschmann и др., опубликованную в 1996 году. Хотя и не так широко читается, как книга шаблонов дизайна, Gamma и др., POSA является одной из основополагающих книг, используемых сообществом шаблонов.

О, и POSA очень четко идентифицирует MVC как архитектурный шаблон. Моя догадка заключается в том, что MS и Sun просто небрежны и звонят каждому шаблон "шаблон дизайна".

Я думаю, что оба верны. Если вы смотрите на конкретный экземпляров из MVC в рамках, таких как Ruby on Rails, этот экземпляр является скорее шаблоном дизайна. Если вы посмотрите на MVC как общее понятие, это скорее архитектурный рисунок.

MVC всегда упоминался и вводился как/в презентационном слое в книгах по архитектуре программного обеспечения.

читать эти книги:

  1. архитектура Microsoft.NET решения для предприятия (Microsoft press)

  2. профессиональный ASP.NET шаблоны проектирования (Wrox)

  3. Введите Шаблоны Решений С Помощью Microsoft.NET (Microsoft press)

  4. Шаблоны архитектуры корпоративных приложений (Аддисон Уэсли)

  5. практическое руководство по архитектуре предприятия (Прентис-Холл)

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

Джош Смит

и, согласно Мартину Фаулеру, это архитектуры GUI: Martin Fowler-GUI architectures

Это зависит от размера приложения, поскольку он влияет только на классы, связанные с GUI, в небольшом (в основном GUI) он может считаться архитектурным шаблоном, тогда как в огромном это будет просто шаблон дизайна, который вы применяете к коду GUI (может быть 10% кода приложений).

MVC-это шаблон архитектуры. Очень четко указано и показано на http://molecularsciences.org/zend/mvc_model_view_controller

шаблоны проектирования внутри триады Model/View/Controller (MVC) классов включают и не могут быть ограничены:

  • Обозреватель, развязка объектов таким образом, что изменения в одном (модель) могут повлиять на любое количество других (представления), не требуя, чтобы измененный объект (модель) знал детали других (представления).

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

  • стратегия, где представление использует экземпляр подкласса контроллера для реализации определенной стратегии ответа; чтобы реализовать другую стратегию, просто замените экземпляр другим типом контроллера.

  • Метод Фабрики, указание класса контроллера по умолчанию для представления.

  • декоратор, добавив прокрутка до представления.


ссылка

  • страницы 4-6 (раздел 1.2 шаблоны проектирования в Smalltalk MVC)
  • страницы 293 до 304 (шаблон дизайна наблюдателя)
  • страницы 163-174 (композитный шаблон дизайна)
  • страницы 315-324 (шаблон разработки стратегии)
  • страницы 107 до 116 (шаблон проектирования Заводского метода)
  • страницы 175 до 185 (дизайн декоратора образец)

Эрик гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес. шаблоны проектирования: элементы объектно-ориентированного проектирования. Addison-Wesley, Reading, MA, 1994.