• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Princípios SOLID
 

Princípios SOLID

on

  • 1,315 views

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

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

Statistics

Views

Total Views
1,315
Views on SlideShare
1,315
Embed Views
0

Actions

Likes
4
Downloads
23
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Rever

Princípios SOLID Princípios SOLID Presentation Transcript

  • • Desenvolvedor.• Capixaba residente no Rio de Janeiro.• Pouco mais de 1 ano de PU.• Time de App Services.• Flamengo.• www.flamengorj.com.br
  • • Fazer software NÃO é fácil.• Fazer software bem projetado para ser mantido é ainda mais complicado.
  • • Orientação a Objeto mal inplementada é igual ao paradigma procedural.
  • • Não é necessário ser nenhum gênio.Mas...• Como profissionais temos obrigação de estudar constantemente.
  • • Design pattern• Princípios de design
  • S Single responsibilityO Open/closedL Liskov substitutionI Interface segregationD Dependency inversion
  • • Robert C. Martin (“Uncle Bob”)• Início dos anos 2000• Conjunto de boas práticasCuriosidade: O termo SOLID não foi inventadopor Uncle Bob.
  • Princípio da Responsabilidade Única“Nunca deve haver mais do que uma razão para uma classe de mudar”
  • - “Classe, o que você faz?” (a pergunta pode ser feita a método também)
  • Mudanças vão acontecer• Menos responsabilidade, menos dificuldade• Baixo acoplamento• Facilidade de leitura do código
  • 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
  • • Evolução sem medo• Não criar bugs em código que funciona
  • • Strategy Pattern• Decorator Pattern
  • Princípio da Substituição de Liskov“Deve ser possível substituir uma classe base por suas classes derivadas” Barbara Liskov e Jeannette Wing
  • Quadrado herda de retângulo?
  • 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”
  • OBS.: Espero que pelo menos não tenha sido no Internet Explorer throw new NotImplementedException();
  • • Facilitar a implementação de interfaces.• Ter interfaces mais específicas (SRP, certo? ).
  • 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.”
  • • Sistema desacoplado e flexível.• Código testável.• Facilidade de mudança.
  • • Princípios e padrões são itens de boas práticas.• Avaliar a situação antes de aplicar.• Prós e contras.
  • • 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