GoF patterns

Проблематика

ГоФ паттерни так чи інак присутні в сучасній розробці, хоча і відношення до них не однозначне. Створювались Описувались вони понад 30 років тому. Але час йде, все змінюється. Мета даної статті аналітично визначити для себе їх доцільність та роль у сучасній розробці ПЗ. При тому починати ми будемо з досить скептичної позиції, по ряду описаних нижче причин.

ГоФ патернам вже понад 30 років і не факт, що всі проблеми, які вони вирішували є актуальними. Актуальними у всіх чи більшости сфер. Бо проблеми веб-розробки, користувацьких інтерфейсів, вбудованих систем чи ігор певною мірою відрізняються. Тому деякі шаблони будуть корисніші в одних сферах, інші в інших. А треті у всіх … або в жодній (що все ж малоймовірно).

Часто їх роль переоцінена. На щастя зараз усе рідше зустрічаються випадки, коли патерни додають для того, щоб додати патерн. Тепер є новіші й цікавіші інструменти — optional, DDD, Kafka чи Kubernetes. Проте все ще можна зустріти людей, що вважають їх знання запам’ятовування теоретичної частини “необхідною ознакою професійного програміста”.

Тут масла в вогонь підлили і університети. Курс ООП треба чимось наповнювати. Студентам хочеться свободи, тому їм часто більше подобається, щоб курс “не залежав від мови програмування”. І тут на допомогу приходять SOLID і GRASP. KISS, на жаль, не вистачає на цілу лекцію. А от GoF-патерни можуть закрити кілька лекцій, а якщо уміти, то і пів семестру можна їх вивчати.

Але достатньо упереджень, будемо рухатись до аналізу. Дана стаття є фактично вступом, та висновком, що з’явиться після аналізу усіх типів:

  • Твірні/породжувальні (creational patterns)
  • Структурні (structural patterns)
  • Поведінкові (behavioral patterns)

Висновки

Будуть за результатами




    Enjoy Reading This Article?

    Here are some more articles you might like to read next:

  • Оцінка в сторіпоінтах
  • Про паттерни та контекст
  • Я і -діод- копайлот