Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git! Привіт! Глянь мій новий курс по Git на GitByBit.com! Привіт! Хочеш класно освіжити Git? Глянь мій новий курс на GitByBit.com!

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

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

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

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

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