Princípios SOLID

2.019 visualizações

Publicada em

Apresentação para equipe de engenharia do Peixe Urbano sobre "SOLID Principles".

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.019
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
57
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Rever
  • Princípios SOLID

    1. 1. • Desenvolvedor.• Capixaba residente no Rio de Janeiro.• Pouco mais de 1 ano de PU.• Time de App Services.• Flamengo.• www.flamengorj.com.br
    2. 2. • Fazer software NÃO é fácil.• Fazer software bem projetado para ser mantido é ainda mais complicado.
    3. 3. • Orientação a Objeto mal inplementada é igual ao paradigma procedural.
    4. 4. • Não é necessário ser nenhum gênio.Mas...• Como profissionais temos obrigação de estudar constantemente.
    5. 5. • Design pattern• Princípios de design
    6. 6. S Single responsibilityO Open/closedL Liskov substitutionI Interface segregationD Dependency inversion
    7. 7. • Robert C. Martin (“Uncle Bob”)• Início dos anos 2000• Conjunto de boas práticasCuriosidade: O termo SOLID não foi inventadopor Uncle Bob.
    8. 8. Princípio da Responsabilidade Única“Nunca deve haver mais do que uma razão para uma classe de mudar”
    9. 9. - “Classe, o que você faz?” (a pergunta pode ser feita a método também)
    10. 10. Mudanças vão acontecer• Menos responsabilidade, menos dificuldade• Baixo acoplamento• Facilidade de leitura do código
    11. 11. Princípio do Aberto/Fechado “Entidades de software (classes, módulos,funções, etc) devem ser abertas para extensão, mas fechadas para modificação” Bertrand Meyer
    12. 12. • Evolução sem medo• Não criar bugs em código que funciona
    13. 13. • Strategy Pattern• Decorator Pattern
    14. 14. Princípio da Substituição de Liskov“Deve ser possível substituir uma classe base por suas classes derivadas” Barbara Liskov e Jeannette Wing
    15. 15. Quadrado herda de retângulo?
    16. 16. Princípio de Segregação de Interface“Clientes não devem ser forçados a depender de interfaces que eles não vão usar”
    17. 17. OBS.: Espero que pelo menos não tenha sido no Internet Explorer throw new NotImplementedException();
    18. 18. • Facilitar a implementação de interfaces.• Ter interfaces mais específicas (SRP, certo? ).
    19. 19. Princípio de Inversão de Dependência “Módulos de alto nível não deve depender demódulos de baixo nível. Ambos devem depender de abstrações.” “Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.”
    20. 20. • Sistema desacoplado e flexível.• Código testável.• Facilidade de mudança.
    21. 21. • Princípios e padrões são itens de boas práticas.• Avaliar a situação antes de aplicar.• Prós e contras.
    22. 22. • Wikipedia: http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)• Blog Vinícius Quaiato: http://viniciusquaiato.com/• Blog Lambda3: http://blog.lambda3.com.br• .Net Architects Podcast: http://podcast.dotnetarchitects.net

    ×