Книги не учат писать реальные штуки. В реальных штуках больше кода, кругом надо ловить эксепшны / проверять ошибки и.т.д. А примеры типа Cat cat = new Cat() в принципе могут сформировать не очень правильное понимание зачем нужны те же классы. Т.е я не скажу, что книги не нужны. Но книги часто подают как чёто такое совсем незаменимое. Но... по факту книги по архитектуре +- становятся полезными только после того как ты много кодил, и кодил не лабки или задачки, а что-то настоящее. Да и то не факт, SRP в теории звучит как 2 + 2, на практике всегда сложнее все и легко нарушить внезапно...
Не все книги учат писать код. Те же книги по паттернам помогают писать код правильно
Dima
Danil
SnapDay
Андрей
olegon.ru
Таков