https://refactoring.guru/ruТам неплохо разобрано, + банда четырех, + для Java есть книга от Head First "Паттерны проектирования"
Вообще шаблоны имеет смысл изучать, когда уже есть достаточно большой опыт разработки и постоянных доработок и переделок, тогда начнешь понимать, почему они удобны. Но знать их надо, потому что на более-менее упорядоченном проекте 100% столкнешься с ними.
Мне нужна книга, где хорошо рассказывается про основные паттерны проектирования с хорошими примерами. Какую посоветуете?
Желательно, чтобы в книге примеры были на языке программирования Java.