hangout ood – princípio da responsabilidade única

11
Hangout OOD – Princípio da Responsabilidade Única 03/06/2014

Upload: priscila-mayumi-sato

Post on 29-Jun-2015

575 views

Category:

Technology


0 download

DESCRIPTION

Slides apresentados durante o hangout OOD - SRP.

TRANSCRIPT

Page 1: Hangout OOD – princípio da responsabilidade única

Hangout OOD – Princípio da Responsabilidade Única03/06/2014

Page 2: Hangout OOD – princípio da responsabilidade única

Participantes:• João Batista Neto - Hoster

• Augusto Pascutti - Moderador

• Priscila Mayumi Sato – Slider maker

• Ivo nascimento – Controlador do chat

• Luís Otavio

• Henrique Moody

• Daniel Ribeiro

Page 3: Hangout OOD – princípio da responsabilidade única

Pauta• Enfatizar o que são princípios de design.

• Abordar, com profundidade e exemplos, o princípio de design S.R.P.

• O que é responsabilidade?

• Como identificar as responsabilidade de um objeto?

• Ilustrar casos do mundo real, através de exemplos em frameworks ou bibliotecas conhecidas, o uso de S.R.P. e as consequências que esse uso trouxe para o FW ou biblioteca.

• Pôs pauta: discutir exemplos enviados previamente por cobaias.

Page 4: Hangout OOD – princípio da responsabilidade única

Princípios de design

Page 5: Hangout OOD – princípio da responsabilidade única

O Design de Software Orientado a Objetos trata especificamente da forma com que os objetos se

relacionam, ou seja, como expor a responsabilidade dos objetos de forma que outros objetos possam se

relacionar.

Vá entender realmente o que é Orientação a Objetos antes de sair convertendo um código procedural dentro

de classes e chamar isso de Orientação a Objetos.

Decorar todos os Desing Patterns não irá te salvar no dia a dia.

Page 6: Hangout OOD – princípio da responsabilidade única

Princípio de design S.R.P.

Page 7: Hangout OOD – princípio da responsabilidade única

Os motivos dos métodos de uma classe devem fazer sentido e esta deve fazer conhecer seus

comportamentos sem causar transtorno ao resto da aplicação.

Why on earth then does the class have a method called priceFilter() in the middle of it? That method is not

defined by the interface, and if you look at the class name – which should at least indicate the reason for it

to exist – you can most certainly say that it doesn’t belong to that context.

Como um método representa UMA ação/comportamento do objeto, ele

não deve ser grande (10~15 linhas) e com isso você terá classes pequenas (elas sendo bem dividas e talz

não deverão ter mais de 130 linhas não comentadas) .

Page 8: Hangout OOD – princípio da responsabilidade única

Exemplo

Source: https://gist.github.com/drgomesp/852b7afe7a270958c22a

Page 9: Hangout OOD – princípio da responsabilidade única

Pôs pauta!

Page 10: Hangout OOD – princípio da responsabilidade única

• https://gist.github.com/Bolinha1/5112789

Cobaia 1: classe de Desvio Padrão

Métodos:

• _construtor($amostra)

• media()

• somaQuadradodoDesvio()

• desvioPadraoPopulacional()

• desvioPadraoAmostra()

Page 11: Hangout OOD – princípio da responsabilidade única

• https://gist.github.com/Bolinha1/5112789

Álibi (ou não): teste