Реклама

[Перевод] Трюгве Реенскауг «Первоначальные отчеты по MVC»

#Перевод #Трюгве #Реенскауг #Первоначальные #Smalltalk
[Перевод] Трюгве Реенскауг «Первоначальные отчеты по MVC»

MVC — один из наиболее известных архитектурных паттернов, вариации которого лежат в основе большинства современных веб-фреймворков. Он пришел к нам из языка Smalltalk, а придумал его норвежский ученый Трюгве Реенскауг, работавший в Xerox PARC в конце 1970-х. Мы перевели его оригинальные отчеты, чтобы дать читателю возможность обратиться к первоисточнику, понять исходный замысел автора и исторический контекст создания паттерна MVC. Читать далее

Я создал первую реализацию MVC и написал соответствующие первоначальные отчеты в 1978/79 годах, будучи приглашенным научным сотрудником Исследовательской лаборатории Xerox в Пало-Альто (PARC). MVC возник как очевидное решение общей задачи: позволить пользователям управлять своей информацией, рассматривая ее с разных точек зрения. MVC вызвал неожиданно большой интерес. В некоторых текстах даже используются его искаженные варианты, преследующие прямо противоположную цель — заставить компьютер управлять пользователем.

MVC задумывался как общее решение задачи: позволить пользователям управлять большим и сложным набором данных. Труднее всего было подобрать удачные названия для различных архитектурных компонентов. Сперва появился набор Модель-Представление-Редактор (Model-View-Editor). Эти компоненты описаны в моей первой заметке от 12 мая 1979 года «ВЕЩЬ-МОДЕЛЬ-ПРЕДСТАВЛЕНИЕ-РЕДАКТОР: пример из planningsystem». Текст заметки приводится ниже.

После долгих обсуждений, особенно с Адель Голдберг, я остановился на терминах Модель-Представление-Контроллер (Model-View-Controller), как описано в моей второй заметке от 10 декабря 1979 года «МОДЕЛИ — ПРЕДСТАВЛЕНИЯ — КОНТРОЛЛЕРЫ». Текст заметки приводится в конце этого документа.

Джим Альтхофф с коллегами реализовали версию MVC для библиотеки классов Smalltalk-80 уже после того, как я покинул Xerox PARC; в этой работе я не участвовал.