Історія патернів

Хто вигадав патерни? Це хороше, але не зовсім коректне запитання, бо патерни не вигадують, а радше «відкривають». Це не якісь супер-оригінальні рішення, а, навпаки, типові способи вирішення однієї і тієї ж проблеми, що часто повторюються з невеликими варіаціями.

Концепцію патернів вперше описав Крістофер Александер у книзі «Мова шаблонів. Міста. Будівлі. Будівництво». У книзі описано «мову» для проектування навколишнього середовища, одиниці якого — шаблони (або патерни, що ближче до оригінального терміна patterns) — відповідають на архітектурні запитання: якої висоти потрібно зробити вікна, скільки поверхів має бути в будівлі, яку площу в мікрорайоні відвести для дерев та газонів.

Ідея видалася привабливою четвірці авторів: Еріху Гаммі, Річарду Хелму, Ральфу Джонсону, Джону Вліссідесу. У 1995 році вони написали книгу «Патерни проектування: повторно використовувані елементи архітектури об'єктно-орієнтованого програмного забезпечення», до якої увійшли 23 патерни, що вирішують різні проблеми об'єктно-орієнтованого дизайну. Назва книги була занадто довгою, щоб хтось зміг її запам'ятати. Тому незабаром усі стали називати її «book by the gang of four», тобто «книга від банди чотирьох», а потім і зовсім «GOF book».

З того часу було знайдено десятки інших об'єктних патернів. «Патерновий» підхід став популярним і в інших галузях програмування, тому зараз можна зустріти різноманітні патерни також за межами об'єктного проектування.