There's a core concept underlying patterns that most people don't grok. Don't think of them as data structures, or algorithms.
Instead, think of your code as people sending messages, like passing notes or sending letters, to each other. Each object is a 'person'.
The way that you'd organize the 'people' and the patterns they use to send messages to each other are the patterns.