Orientação a Objetos - Princípios SOLID

50

description

Slides da palestra sobre Orientação a Objetos e Princípios SOLID: "Não sabemos nada sobre isso", por Vinicius Quaiato na IV Semana de Tecnologia do IFSP.

Transcript of Orientação a Objetos - Princípios SOLID

Page 1: Orientação a Objetos - Princípios SOLID
Page 2: 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

Page 3: Orientação a Objetos - Princípios SOLID
Page 4: Orientação a Objetos - Princípios SOLID
Page 5: Orientação a Objetos - Princípios SOLID
Page 6: Orientação a Objetos - Princípios SOLID
Page 7: Orientação a Objetos - Princípios SOLID
Page 8: Orientação a Objetos - Princípios SOLID

Um

esti

lo de

progra

maçã

o

Um e

stilo

de

progra

maçã

o

Page 9: Orientação a Objetos - Princípios SOLID

Existem muitos “estilos”

Existem muitos “estilos”

Page 10: Orientação a Objetos - Princípios SOLID
Page 11: Orientação a Objetos - Princípios SOLID

Conceitos chave da POO

Conceitos chave da POO

Page 12: Orientação a Objetos - Princípios SOLID

ClassesClasses

Page 13: Orientação a Objetos - Princípios SOLID

ObjetosObjetos

Page 14: Orientação a Objetos - Princípios SOLID

A primeira classe…

A primeira classe…

Page 15: Orientação a Objetos - Princípios SOLID

O objeto…O objeto…

Page 16: Orientação a Objetos - Princípios SOLID

EstadoEstado

Page 17: Orientação a Objetos - Princípios SOLID

EstadoEstado

Page 18: Orientação a Objetos - Princípios SOLID

Comportamento

Comportamento

Page 19: Orientação a Objetos - Princípios SOLID

Comportamento

Comportamento

Page 20: Orientação a Objetos - Princípios SOLID

Encapsulamento

Encapsulamento

Page 21: Orientação a Objetos - Princípios SOLID

Encapsulamento

Encapsulamento

Page 22: Orientação a Objetos - Princípios SOLID

HerançaHerança

Page 23: Orientação a Objetos - Princípios SOLID

HerançaHerança

Page 24: Orientação a Objetos - Princípios SOLID

PolimorfismoPolimorfismo

Page 25: Orientação a Objetos - Princípios SOLID

PolimorfismoPolimorfismo

Page 26: Orientação a Objetos - Princípios SOLID
Page 27: Orientação a Objetos - Princípios SOLID

Ferramentas

certas?!Ferramentas

certas?!

Page 28: Orientação a Objetos - Princípios SOLID

Tio Bob…Tio Bob…

Page 29: Orientação a Objetos - Princípios SOLID

Princípios SOLIDPrincípios SOLID

Page 30: Orientação a Objetos - Princípios SOLID
Page 31: Orientação a Objetos - Princípios SOLID
Page 32: Orientação a Objetos - Princípios SOLID
Page 33: Orientação a Objetos - Princípios SOLID

Responsabilidade ÚnicaResponsabilidade Única

Page 34: Orientação a Objetos - 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 35: Orientação a Objetos - Princípios SOLID

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

“Classe, o que você faz?”

Page 36: Orientação a Objetos - Princípios SOLID

Aberto FechadoAberto Fechado

Page 37: Orientação a Objetos - Princípios SOLID

Aberto FechadoAberto Fechado

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

Page 38: Orientação a Objetos - Princípios SOLID

Substituição de

LiskovSubstituição de

Liskov

Page 39: Orientação a Objetos - 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 40: Orientação a Objetos - Princípios SOLID

Segregação de InterfaceSegregação de Interface

Page 41: Orientação a Objetos - 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 42: Orientação a Objetos - Princípios SOLID

Inversão de Dependência

Inversão de Dependência

Page 43: Orientação a Objetos - 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 44: Orientação a Objetos - Princípios SOLID
Page 45: Orientação a Objetos - Princípios SOLID

Sustentabilidade

Sustentabilidade

Page 46: Orientação a Objetos - Princípios SOLID

Vida saudávelVida saudável

Page 47: Orientação a Objetos - Princípios SOLID

CrescimentoCrescimento

Page 49: Orientação a Objetos - Princípios SOLID
Page 50: Orientação a Objetos - Princípios SOLID