Post on 27-May-2015
description
Orientação a Objetos e Princípios SOLID
Utilizando POO com eficiência
Vinicius Quaiato
Desenvolvedor
Pai Santista fanático
.NET Architects
PalestranteBlogueiro
Gonow Tecnologia
Vinicius Quaiato
vinicius.quaiato@gmail.com
@vquaiato
http://viniciusquaiato.comhttp://gonow.com.br
Um
esti
lo de
progra
maçã
o
Um e
stilo
de
progra
maçã
o
Existem diferentes
“estilos”
Existem diferentes
“estilos”
Orientada a Objeto
FuncionalLógica
Estruturada
Procedural
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…
Vinicius Quaiato
vinicius.quaiato@gmail.com
@vquaiato
http://viniciusquaiato.comhttp://gonow.com.br