Лучше начинать на практике с простых шаблонов (singleton, fabric). Попробуйте для начала научиться просто "видеть" их в используемых библиотеках. Дальше можно смотреть реализации и пробовать применять в собственном коде.
Самый быстрый способ прокачаться это закодить что-нибудь, потом попросить знакомого/эксперта/дядечку с опытом за деньги/пиво дать комментарии по коду и выстроить архитектуру(повторить n раз). Тогда вам станет понятно зачем они нужны и области их применимости.
Главное не заболеть "шаблоном проектирования головного мозга" - это когда кодер сует шаблоны куда не нужно, "лишь бы были", следуя модным течениям.