Я рассматриваю шаблоны проектирования как набор мудрости, накопленный опытом, особенно в решении вопросов гибкости и удобства сопровождения кода. Например: используя фасад, мы можем изменять реализации, не изменяя код, который использует фасад.
Я думаю, что было бы справедливо сказать, что все языки программирования должны быть запечатлены, и какие-то шаблоны проектирования будут полезны. Языки наследия C / C ++ / Java / C #, кажется, предлагают особенно богатые, похоже, добытые для мудрости. C ++, будучи довольно грубым, действительно выигрывает от некоторых ключевых шаблонов проектирования.
Некоторые люди видят Шаблоны проектирования как способ исправления языковых недостатков, что подразумевает, что для «лучших» языков может потребоваться меньше шаблонов. Я чувствую, что во всех случаях у нас есть чему поучиться у опытных людей, и Шаблоны помогают нам систематизировать их мудрость.
Отредактировано, чтобы добавить: Интересный момент, сделанный Munish, лучше сначала сделать небольшое переосмысление? Написав какой-то реальный код без явного использования шаблонов, вы вполне можете почувствовать неудовлетворенность тем, что вы пишете ... когда я изменяю это, мне нужно все это менять, есть ли лучший способ написать это? ... это может привести вас к действительно нужным схемам и, следовательно, мотивировать ваше обучение.
Если у вас есть время учиться таким образом, то я думаю, что вы, вероятно, выиграете.