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: