Pull to refresh

Паттерн MVC: из 1970-х в 2009 год

Level of difficultyMedium
Reading time3 min
Views8.7K
В современной разработке последних лет набирает большую популярность шаблон проектирования MVC (Model-View-Controller). В наши дни, в 2009 году, это уже стандарт, который, думаю сохранится надолго.

Предлагаю исследовать, что вкладывали в этот подход его разработчики в далеких 70-80-х годах и как он применяется сейчас.

Итак, MVC (Model-View-Controller) — это архитектурный шаблон проектирования, который был разработан в 1970-х годах в Xerox PARC для создания пользовательских интерфейсов на основе Smalltalk. В дальнейшем этот шаблон был адаптирован и применен в различных областях, включая веб-разработку.

Шаблон Model-View-Controller был описан в статье «Smalltalk-80: The Language and its Implementation» авторов Алана Кея Тейлора (Alan Kay Taylor) и Дэниела Гееворта Триггерса (Daniel Henry Holmes Ingalls, Jr.). Эта работа была опубликована в 1981 году в журнале «Byte Magazine». В статье авторы описывают архитектурный шаблон MVC, который они использовали при разработке системы программирования на языке Smalltalk-80.

В статье «Smalltalk-80: The Language and its Implementation» авторы описывают язык программирования Smalltalk-80 и его реализацию. Они рассматривают принципы объектно-ориентированного программирования, на которых основан язык, и представляют шаблон проектирования Model-View-Controller (MVC) для создания пользовательских интерфейсов.

Основные идеи, которые привносит эта работа:

  1. Использование объектов как основных элементов языка и программирования.
  2. Использование MVC для создания пользовательских интерфейсов, который разделяет данные, представление и управление.
  3. Принцип «Everything is an object» — все элементы в языке Smalltalk-80 являются объектами.
  4. Поддержка множественного наследования и динамической типизации.
  5. Использование исключений в обработке ошибок.
  6. Поддержка сборки мусора для управления памятью.


Они объясняют, что MVC была разработана для решения проблемы управления пользовательским интерфейсом в Smalltalk-80. Разработчики столкнулись с проблемой, что при изменении данных в приложении необходимо было также изменять и пользовательский интерфейс, что было довольно сложно и многословно.

Архитектура MVC разрешает эту проблему, разделяя приложение на три компонента: модель, представление и контроллер. Модель содержит данные и бизнес-логику приложения, представление отображает эти данные пользователю, а контроллер управляет взаимодействием между моделью и представлением.

Авторы статьи объясняют, что MVC позволяет разработчикам отделить логику приложения от пользовательского интерфейса, что делает код более чистым и модульным. Они также описывают, как в Smalltalk-80 реализована архитектура MVC с помощью классов и объектов.

В настоящее время MVC использовалась в различных технологиях и фреймворках для создания веб-приложений, например, в ASP.NET MVC, Ruby on Rails, Django и других. Именно эта технология позволяет отделить логику приложения от пользовательского интерфейса и упрощает разработку масштабируемых и поддерживаемых приложений.

ASP.NET MVC была выпущена в 2009 году и уже стала одним из наиболее популярных фреймворков для создания веб-приложений на языке C#. Этот фреймворк использовал архитектуру MVC для разделения приложения на три компонента, что упрощало разработку приложений и повышало их поддерживаемость.

Не менее популярным стал этот шаблон и в мире PHP. Так, востребованный фреймворк CodeIgniter предоставлял поддержку архитектуры MVC. CodeIgniter позволял разработчикам создавать приложения, разделяя их на три компонента: модель, представление и контроллер. Не отстает от него и фреймворк Zend Framework 1, который также поддерживал архитектуру MVC. Кого не перечисли — CakePHP, Symfony и Yii — везде MVC…

Продолжение следует...
Tags:
Hubs:
Total votes 31: ↑30 and ↓1+29
Comments39

Articles