По поводу ООП и хорошего кода, всё - же порекомендую почитать
Code Complete и
Refactoring
ну и конечно
Банду четырёх
Читать не как руководство к действию (авторы, кстати, тоже не настаивают на слепом и фанатичном использовании их методик), а как некую версию происходящего в мире "сферического кода в вакууме".