I paradigmi di programmazione "ai miei tempi" si studiavano prima ancora di far prendere in mano un linguaggio come java
Le best practices invece si apprendono con il tempo e l'esperienza. Non ho mai visto nessuno (sia nella categoria ignorante cui appartengo, sia nell'altra) finire un libro e saper programmare qualcosa di decente. Per un motivo o per l'altro entrambi producono immancabilmente delle porcherie, salvo poi migliorare con il tempo sbattendo la testa contro i propri, personalissimi errori.