Orientação a Objetos - Princípios SOLID

Post on 27-May-2015

6.710 views 4 download

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

.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