NON ESISTE UN TESTO
La programmazione OOP e' composta da diverse componenti:
1) il concetto di programmazione ad oggetti
2) i design patterns: specifiche configurazione di oggetti.
Trattare tutto in un libro vuol dire scrivere un libro di 2000/3000 pagine, quindi in generale conviene ragionare a pezzetti.
Decidi un linguaggio (Java o Python, NON C++) e prenditi il testo corrispondente.
POI studia i design patterns: