SlideShare uma empresa Scribd logo
Single Responsability
      Principle

    Marcelo Nascimento
      Thiago Funghi
      Thiago Ribeiro
SRP - Nada de Classes Jack Bauer...
                               Sabemos que OO sugere
                               reuso, extensibilidade e
                               manutenabilidade.




Mas isso é impossível quando
temos Classes realizando um
milhão de tarefas...
SRP - Apenas uma razão para mudar...

Nunca deve existir mais de uma razão para uma classe mudar




 Muitas Razões Para Mudar = Muitas Razões Para Ter Erros
SRP - Ou seja...




    Cada Classe deve fazer SÓ o SEU trabalho Sujo
SRP - Dicas
                          1. Identifique as responsabilidades da
                             classe


                          2. Extraia métodos para isolar as
                          responsabilidades


                  3. Extraia uma classe para isolar métodos
                  que devem permanecer juntos



            4. Se as camadas superiores podem fornecer
            informações, faça, não carregue tudo na classe
            “canivete suíço”


 5. Se vários métodos compartilham parâmetros,
 promova-os a variáveis de instância
SRP - Na Prática



                                     Métodos:
 Area() - Calcula a área do Retângulo usando um modelo matemático;
 Desenhar() - Desenha o Retângulo usando uma interface gráfica;

         DUAS RESPONSABILIDADES!!!
qualquer mudança no modelo matemático pode impactar na
             interface gráfica e vice-versa..
SRP - Na Prática

        Separando as responsabilidades
SRP - Conclusões

1.  Se uma classe possuir mais de uma responsabilidade, deve-
se considerar sua decomposição em duas ou mais classes;



     2.  Baseado no princípio da coesão funcional, uma classe deve
     ter uma única responsabilidade;

                  3.  Cada responsabilidade é um eixo de mudança e as fontes de
                  mudança devem ser isoladas;


Este princípio é um dos mais simples de entender, mas muito difícil de ser colocado
       em prática.... É natural agrupar responsabilidades...(Object Mentor)
SRP - DÚVIDAS?

Mais conteúdo relacionado

PPTX
Enfermedades y Dolores En tsotsil
PPTX
Grupo3_9ºB
PPTX
Conceptos básicos de redes e internet
PPTX
Trabajo de aula virtual y correo estudiantil
PPT
Chilamate RainForest Eco-Retreat
PPTX
El problema educacional
PPTX
Barreras arancelarias sector industrial
PPT
Historia de la informatica
Enfermedades y Dolores En tsotsil
Grupo3_9ºB
Conceptos básicos de redes e internet
Trabajo de aula virtual y correo estudiantil
Chilamate RainForest Eco-Retreat
El problema educacional
Barreras arancelarias sector industrial
Historia de la informatica

Destaque (20)

ODP
Agullo correa practica3_xarxesmultimedia
PPTX
Diplomado docencia universitaria
ODT
Mediatriz de un segmento
PPTX
Ludwing julian rueda hoyos
PPTX
diapositivas luisa
PDF
Dra. Laura sanchez - ley de víctimas y Acceso a la Información
DOCX
Exe learning arbol de contenidos
PPTX
Reunião do dia 17 de outubro de 2014
PDF
Edgar Mauricio Solano - Departamento Nacional de Planeación - Colombia
PPTX
Evolucao.humana
DOC
Plantilla plan unidad (2)
PPTX
D. João II
DOC
Manual linux
DOCX
Comunicacion efectiva.
PPTX
Fuentes de poder
PPTX
Esquema mc gvfinal[1]26 10-12
PPTX
Herramientas de la web
PPTX
Grupo4_9ºB
PPTX
Precentacion del blog
PPTX
Canal de castilla
Agullo correa practica3_xarxesmultimedia
Diplomado docencia universitaria
Mediatriz de un segmento
Ludwing julian rueda hoyos
diapositivas luisa
Dra. Laura sanchez - ley de víctimas y Acceso a la Información
Exe learning arbol de contenidos
Reunião do dia 17 de outubro de 2014
Edgar Mauricio Solano - Departamento Nacional de Planeación - Colombia
Evolucao.humana
Plantilla plan unidad (2)
D. João II
Manual linux
Comunicacion efectiva.
Fuentes de poder
Esquema mc gvfinal[1]26 10-12
Herramientas de la web
Grupo4_9ºB
Precentacion del blog
Canal de castilla
Anúncio

Semelhante a Apresentação - Single responsability principle (8)

PDF
Livro Código limpo: Classes
PDF
Artigo - Single responsabilityprinciple-final
PDF
SRP - Single Responsability Principle
PPTX
Apresentação sobre Herança - Orientação a Objetos
ODP
Aula Herança
PPTX
SOLID Os princípios da linguagem orientada a objeto
PPTX
Baixo acoplamento e alta coesão no paradigma Orientado a Objetos
PDF
Classes abstratas e interfaces
Livro Código limpo: Classes
Artigo - Single responsabilityprinciple-final
SRP - Single Responsability Principle
Apresentação sobre Herança - Orientação a Objetos
Aula Herança
SOLID Os princípios da linguagem orientada a objeto
Baixo acoplamento e alta coesão no paradigma Orientado a Objetos
Classes abstratas e interfaces
Anúncio

Último (9)

PPTX
Eng. Software - pontos essenciais para o início
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Manejo integrado de pragas na cultura do algodão
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Tipos de servidor em redes de computador.pptx
Viasol Energia Solar -Soluções para geração e economia de energia

Apresentação - Single responsability principle

  • 1. Single Responsability Principle Marcelo Nascimento Thiago Funghi Thiago Ribeiro
  • 2. SRP - Nada de Classes Jack Bauer... Sabemos que OO sugere reuso, extensibilidade e manutenabilidade. Mas isso é impossível quando temos Classes realizando um milhão de tarefas...
  • 3. SRP - Apenas uma razão para mudar... Nunca deve existir mais de uma razão para uma classe mudar Muitas Razões Para Mudar = Muitas Razões Para Ter Erros
  • 4. SRP - Ou seja... Cada Classe deve fazer SÓ o SEU trabalho Sujo
  • 5. SRP - Dicas 1. Identifique as responsabilidades da classe 2. Extraia métodos para isolar as responsabilidades 3. Extraia uma classe para isolar métodos que devem permanecer juntos 4. Se as camadas superiores podem fornecer informações, faça, não carregue tudo na classe “canivete suíço” 5. Se vários métodos compartilham parâmetros, promova-os a variáveis de instância
  • 6. SRP - Na Prática Métodos: Area() - Calcula a área do Retângulo usando um modelo matemático; Desenhar() - Desenha o Retângulo usando uma interface gráfica; DUAS RESPONSABILIDADES!!! qualquer mudança no modelo matemático pode impactar na interface gráfica e vice-versa..
  • 7. SRP - Na Prática Separando as responsabilidades
  • 8. SRP - Conclusões 1.  Se uma classe possuir mais de uma responsabilidade, deve- se considerar sua decomposição em duas ou mais classes; 2.  Baseado no princípio da coesão funcional, uma classe deve ter uma única responsabilidade; 3.  Cada responsabilidade é um eixo de mudança e as fontes de mudança devem ser isoladas; Este princípio é um dos mais simples de entender, mas muito difícil de ser colocado em prática.... É natural agrupar responsabilidades...(Object Mentor)