OOP Design Patterns implemented in java. A dotted line with a big arrow represents a "is a.." relationship, while a full line with an empty arrow represents a "has a.." relationship.
Like this one for the Composite pattern:
A huge thanks to Christopher Okhravi for his amazing design patterns videos (you can watch the series at https://www.youtube.com/watch?v=v9ejT8FO-7I&list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc ).
The disscussed patterns are from the book "Head First Design Patterns" by Elisabeth Freeman and Kathy Sierra.