Escrever código de qualidade, flexível, que evolua facilmente e que seja fácil de ser mantido não é fácil. Há muito tempo, estudo orientação a objetos e boas práticas de código.

Como escrever uma classe coesa? E agora que ela é coesa, como lidar com seu acoplamento? Por que coesão é importante? Como escrever algoritmos simples? Como criar pontos de flexibilização em nosso projeto de classes?

Essa e outras perguntas são respondidas em meu livro sobre OO e SOLID. Além disso, meu blog técnico também tem bastante informação interessante por lá.

Alguns links interessantes:

Ou, se preferir, faça um workshop comigo. É bastante produtivo!