Orientação a Objetos - Princípios SOLID
-
Upload
vinicius-quaiato -
Category
Technology
-
view
6.710 -
download
4
description
Transcript of Orientação a Objetos - Princípios SOLID
.NET Architects
Arquitetura de Software
Vegetariano
Santista maluco
Palestras .NET
Testes, TDD e mais TestesBoas práticas
SDC Stefanini
.NET Magazine
BlogueiroPai
Um
esti
lo de
progra
maçã
o
Um e
stilo
de
progra
maçã
o
Existem muitos “estilos”
Existem muitos “estilos”
Conceitos chave da POO
Conceitos chave da POO
ClassesClasses
ObjetosObjetos
A primeira classe…
A primeira classe…
O objeto…O objeto…
EstadoEstado
EstadoEstado
Comportamento
Comportamento
Comportamento
Comportamento
Encapsulamento
Encapsulamento
Encapsulamento
Encapsulamento
HerançaHerança
HerançaHerança
PolimorfismoPolimorfismo
PolimorfismoPolimorfismo
Ferramentas
certas?!Ferramentas
certas?!
Tio Bob…Tio Bob…
Princípios SOLIDPrincípios SOLID
Responsabilidade ÚnicaResponsabilidade Única
Responsabilidade ÚnicaResponsabilidade Única
Uma classe ou método deve ter uma única
responsabilidade.
Indo além, uma classe deve ter uma e apenas UMA
razão para mudar.
Faça perguntas para a ClasseFaça perguntas para a Classe
“Classe, o que você faz?”
Aberto FechadoAberto Fechado
Aberto FechadoAberto Fechado
Uma classe deve estar aberta para extensão e fechada para modificação.
Substituição de
LiskovSubstituição de
Liskov
Substituição de
LiskovSubstituição de
Liskov
Deve ser possível substituir uma classe base
por suas classes derivadas em qualquer ponto
do código.
Segregação de InterfaceSegregação de Interface
Segregação de InterfaceSegregação de Interface
Clientes não devem ser obrigados a depender de interfaces que eles não utilizam.
Inversão de Dependência
Inversão de Dependência
Inversão de Dependência
Inversão de Dependência
Módulos de alto nível não devem depender de mó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.
Sustentabilidade
Sustentabilidade
Vida saudávelVida saudável
CrescimentoCrescimento
http://viniciusquaiato.com/blog/tag/solid/
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
http://en.wikipedia.org/wiki/Solid_(object-oriented_design)
Extra Info…Extra Info…