Это в MVC, шаблон проектирования или архитектурного рисунка
по данным Солнце и Msdn это шаблон проектирования.
по данным Википедия это архитектурный шаблон
по сравнению с шаблонами проектирования, архитектурные шаблоны больше по масштабу. (Wikipedia -архитектурно шаблон)
или это архитектурный образец, который также имеет шаблон дизайна ?
какой из них является истинным ?
10 ответов:
MVC-это скорее архитектурный шаблон, но не для полного применения. MVC в основном относится к уровню пользовательского интерфейса / взаимодействия приложения. Вам все равно понадобится уровень бизнес-логики, возможно, какой-то уровень обслуживания и уровень доступа к данным. То есть, если вы занимаетесь N-уровневым подходом.
Почему один из них должен быть правдой?
оба могут быть истинными, в зависимости от точки зрения.
MVC может быть архитектурным шаблоном, если он образует основу архитектуры приложения.
Это также можно рассматривать как просто шаблон проектирования, абстрактное понятие, которое применимо к любому приложению.
шаблоны проектирования скажите, как писать код эффективно (учитывая Метрики Кода).
несколько преимуществ:
- Легко Ремонтопригодны
- высокий повторного использования
- читается из-за абстракций
архитектурные шаблоны скажите, как эффективно использовать ресурсы.
- параллельное выполнение задач, как программисты и графические дизайнеры могут работать параллельный.
- различные технологии могут быть использованы для создания программного обеспечения.
в 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 всегда упоминался и вводился как/в презентационном слое в книгах по архитектуре программного обеспечения.
читать эти книги:
архитектура Microsoft.NET решения для предприятия (Microsoft press)
Введите Шаблоны Решений С Помощью Microsoft.NET (Microsoft press)
Шаблоны архитектуры корпоративных приложений (Аддисон Уэсли)
практическое руководство по архитектуре предприятия (Прентис-Холл)
Если вы поместите десять архитекторов программного обеспечения в комнату и попросите их обсудить, что такое шаблон 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.