Разработчики часто сталкиваются с проблемами и задачами, которые имеют типовое решение. Именно такие решения описывают
шаблоны проектирования.
Помню как для себя впервые открыл шаблоны проектирования, наткнувшись на них где-то во всемирной сети. И я зачитался. Надолго. Ведь я был самоучкой и некому было мне рассказать про то, что не нужно изобретать велосипед. Уже все придумано.
Забавно было видеть те паттерны, которые я использовал, и даже не знал, что для них есть название. Я пришел к ним сам.
Про другие паттерны было просто интересно почитать. Я видел как я могу применить то, или это. Как это мне облегчит жизнь и каким я был дураком, пытаясь изобрести корявый велосипед. Некоторыми вещами я просто восхищался.
Сложно представить себе хорошего разработчика, который не знает что такое паттерны проектирования. Как говорится, маст-хэв знание.
Парочка полезных ссылок по теме:
https://sourcemaking.com/design_patterns/ — в свое время меня очень впечатлил сайт. Все просто и понятно.
https://martinfowler.com/articles/enterprisePatterns.html — ну и конечно же контент от мэтра софтварной разработки, Мартина Фаулера