For that reason, I'd suggest picking a set of languages/frameworks, and taking a list of the more popular design patterns on each stack. Once you've implemented these, start to cross them over. You'll not only expand your knowledge of other languages, but you'll learn where certain frameworks have developed abstractions that cover these patterns for you.
For example, if I'm trying to design a screen that has an interactive inventory list, what kind of components do I need? A search bar? What would a search bar look like? What would it look like before it's typed? What would it look like after it's typed?
Then I usually like to go to https://material.io/design/ and go look at their components for guidance
In that case you will start to realize that having some specific design patterns make not only your life but all other developer's easier.
“Instead of thinking about a design that would work for every nuance of a system,
test-first programming enabled me to make a primitive piece of behavior work correctly
before evolving it to the next necessary level of sophistication.”
If a piece of code survives long enough to deserve some refactoring, then i take a closer look at the patterns.