A segunda edição do meu treinamento "TDD e Testes de Unidade: testando de forma sustentável", realizada online em 21 e 28 de out/2017, está disponível no YouTube, na íntegra: primeiro dia e segundo dia. Ótima oportunidade para você que quer começar a aprender sobre o assunto ou mesmo tirar dúvidas e se aperfeiçoar. Confira e... Continuar Lendo →
Tell, don’t ask
"Tell, don't ask" é uma das práticas mais importantes da orientação a objetos, pois tem por maior objetivo reforçar a ideia de encapsulamento, conceito fundamental desse paradigma. O nome vem do fato de que devemos dizer (tell) ao objeto o que fazer ao invés de perguntarmos (ask) ao objeto sobre seu estado e tomarmos alguma decisão. Vamos a... Continuar Lendo →
Command-Query Separation (CQS)
Retornando com mais um conceito neste post curto. Desta vez, falarei sobre o Command-Query Separation (CQS), princípio proposto por Bertrand Meyer. Este princípio diz que um método pode ser um comando ou uma query, mas nunca ambos. Um comando é um método que altera o estado do objeto que o define, não retornando nenhum valor:... Continuar Lendo →
Princípios SOLID: Princípio da Inversão de Dependência (DIP)
Chegamos, enfim, ao último post da série sobre os cinco princípios SOLID, o qual abordará o Princípio da Inversão de Dependência (Dependency Inversion Principle), ou simplesmente DIP. O DIP é base para um bom design orientado a objetos e extremamente importante para o projeto de uma arquitetura de software flexível e focada no domínio. DEFINIÇÃO... Continuar Lendo →
Princípios SOLID: Princípio da Segregação de Interface (ISP)
Continuando a série sobre os princípios SOLID, chegamos ao quarto princípio, conhecido por Princípio da Segregação de Interface (Interface Segregation Principle), ou simplesmente ISP. Se você está chegando agora, lembro que os princípios SOLID são boas práticas de OO que ajudam a melhorar o design de nossas classes, removendo design smells e, por consequência, tornando... Continuar Lendo →