Head first design patterns : building extensible & maintainable object-oriented software - Freeman, Eric 1965- (O´Reilly, 2021)