MSTechDay Lavras - Orientação a Objetos e Princípios Solid

57
Orientação a Objetos e Princípios SOLID Utilizando POO com eficiência

description

Palestra de Vinicius Quaiato no MSTechDay de Lavras.Esta palestra fala sobre o que é e como tirar proveito da Orientação a Objetos através do conhecimento e aplicação dos princípios SOLID.

Transcript of MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Page 1: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Orientação a Objetos e Princípios SOLID

Utilizando POO com eficiência

Page 2: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Vinicius Quaiato

Desenvolvedor

Pai Santista fanático

.NET Architects

PalestranteBlogueiro

Gonow Tecnologia

Page 3: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Vinicius Quaiato

[email protected]

@vquaiato

http://viniciusquaiato.comhttp://gonow.com.br

Page 4: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 5: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 6: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 7: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 8: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 9: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 10: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 11: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 12: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 13: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 14: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Um

esti

lo de

progra

maçã

o

Um e

stilo

de

progra

maçã

o

Page 15: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Existem diferentes

“estilos”

Existem diferentes

“estilos”

Orientada a Objeto

FuncionalLógica

Estruturada

Procedural

Page 16: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 17: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 18: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Conceitos chave da POO

Conceitos chave da POO

Page 19: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

ClassesClasses

Page 20: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

ObjetosObjetos

Page 21: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

A primeira classe…

A primeira classe…

Page 22: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

O objeto…O objeto…

Page 23: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

EstadoEstado

Page 24: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

EstadoEstado

Page 25: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Comportamento

Comportamento

Page 26: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Comportamento

Comportamento

Page 27: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Encapsulamento

Encapsulamento

Page 28: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Encapsulamento

Encapsulamento

Page 29: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

HerançaHerança

Page 30: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

HerançaHerança

Page 31: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

PolimorfismoPolimorfismo

Page 32: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

PolimorfismoPolimorfismo

Page 33: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 34: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Ferramentas

certas?!Ferramentas

certas?!

Page 35: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Tio Bob…Tio Bob…

Page 36: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Princípios SOLIDPrincípios SOLID

Page 37: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 38: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 39: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 40: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Responsabilidade ÚnicaResponsabilidade Única

Page 41: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

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.

Page 42: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Faça perguntas para a ClasseFaça perguntas para a Classe

“Classe, o que você faz?”

Page 43: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Aberto FechadoAberto Fechado

Page 44: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Aberto FechadoAberto Fechado

Uma classe deve estar aberta para extensão e fechada para modificação.

Page 45: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Substituição de

LiskovSubstituição de

Liskov

Page 46: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

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.

Page 47: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Segregação de InterfaceSegregação de Interface

Page 48: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Segregação de InterfaceSegregação de Interface

Clientes não devem ser obrigados a depender de interfaces que eles não utilizam.

Page 49: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Inversão de Dependência

Inversão de Dependência

Page 50: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

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.

Page 51: MSTechDay Lavras - Orientação a Objetos e Princípios Solid
Page 52: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Sustentabilidade

Sustentabilidade

Page 53: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Vida saudávelVida saudável

Page 54: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

CrescimentoCrescimento

Page 56: MSTechDay Lavras - Orientação a Objetos e Princípios Solid

Vinicius Quaiato

[email protected]

@vquaiato

http://viniciusquaiato.comhttp://gonow.com.br

Page 57: MSTechDay Lavras - Orientação a Objetos e Princípios Solid