Princípios solid
Upcoming SlideShare
Loading in...5
×
 

Princípios solid

on

  • 984 views

 

Statistics

Views

Total Views
984
Views on SlideShare
700
Embed Views
284

Actions

Likes
0
Downloads
7
Comments
0

7 Embeds 284

http://dyegocomy.com 113
http://dyegocosta.com 83
http://localhost:4000 34
http://feeds.feedburner.com 31
http://localhost 16
http://www.linkedin.com 6
http://www.google.com.br 1
More...

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

Princípios solid Princípios solid Presentation Transcript

  • Princípios SOLID Dyego Costa
  • { Princípios SOLID }
  • SRPDIP OCP SOLID ISP LSP
  • Single ResponsibilityDependency Open Inversion SOLID Closed Interface Liskov Segregation Substitution
  • { Single Responsibility Principle }> < SRPO princípio de responsabilidade única diz que todo objeto deve ter uma única responsabilidade, e que a responsabilidade deve estar encapsulada pela classe.Nunca deve existir mais de um motivo para que uma classe mude. Robert C. “Uncle Bob” Martin
  • Só porque você pode, não quer dizer que deve
  • { Acoplamento vs. Coesão }
  • coesão A coesão é definida, em termos acadêmicos, como a medida de proximidade no relacionamento entre todas as responsabilidades, os dados e os métodos de uma classe.“maior = melhor”
  • acoplamento O acoplamento entre classes ou subsistemas é uma medida da interconexão entre essas classes ou subsistemas.“menor = melhor”
  • demonstração
  • { Open/Closed Principle } < OCP > O princípio Aberto/Fechado diz que toda entidade de software (classe, função, módulos, etc) deve estar aberta para extensão e fechada para modificação.
  • demonstração
  • { Liskov Substitution Principle } < LSP > “Se para cada objeto o¹ do tipo S existe um objeto o² do tipo T que “Funções que usam referências para classes bases devem ser capazes para todos programas P definidos em termos de T, o comportamento de usar objetos de classes derivadas sem estar ciente disso.” de P é imutável quando o¹ é substituído por o². Então S é um subtipo de T.” Robert C. “Uncle Bob” Martin Barbara Liskov
  • { Regras } Pré-condições e pós-condições Pré-condição não deve ser fortalecida e a pós-condição não deve ser enfraquecida. Invariância Se a condição de um processo é verdadeiro na classe base deve permanecer verdadeiro na subclasse. Histórico de contrato As subclasses devem implementar todos os membros de suas classes base.
  • {demonstração}
  • { Interface Segregation Principle }> < ISP O Princípio da Segregação de Interface afirma que os clientes não deveriam ser forçados a depender de interfaces que eles não usam.
  • { demonstração }
  • { Dependency Inversion Principle } < DIP >Módulos de alto nível não devem depender de módulos de baixo nível. Ambosdevem depender de abstrações.Em segundo lugar, abstrações não devem depender de detalhes.Detalhes devem depender de abstrações.
  • demonstração
  • Containers deDependency Injection
  • { Referências / Dicas } http://blackwasp.co.uk http://dimecast.net http://dofactory.com http://pluralsight.com http://codebetter.com