Логотип ConstructiCat
CodeBust.
Навигация по разделу ▾

История паттернов.

Кто придумал паттерны? Хороший, но не очень точный вопрос. Паттерны проектирования — не какие-то малопонятные, замысловатые концепции, а совсем наоборот. Паттерны — это типовые решения распространённых проблем объектно-ориентированного проектирования. Когда решение раз за разом повторяется в разных проектах, кто-то в конце концов даёт ему имя и подробно его описывает. Вот, по сути, как и обнаруживается паттерн.

Концепцию паттернов впервые описал Кристофер Александер в книге A Pattern Language: Towns, Buildings, Construction. В книге описывается «язык» для проектирования городской среды. Единицами этого языка являются паттерны. Они могут описывать, какой высоты должны быть окна, сколько этажей должно быть у здания, насколько большими должны быть зелёные зоны в квартале и так далее.

Идею подхватили четыре автора: Эрих Гамма, Джон Влиссидес, Ральф Джонсон и Ричард Хелм. В 1994 году они опубликовали книгу Design Patterns: Elements of Reusable Object-Oriented Software, в которой применили концепцию паттернов проектирования к программированию. В книге было представлено 23 паттерна, решающих различные проблемы объектно-ориентированного проектирования, и она очень быстро стала бестселлером. Из-за длинного названия люди стали называть её «книгой банды четырёх», что вскоре сократилось просто до «книги GoF».

С тех пор были обнаружены десятки других объектно-ориентированных паттернов. «Паттерн-подход» стал очень популярен и в других областях программирования, поэтому сейчас существует множество паттернов и за пределами объектно-ориентированного проектирования.