A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A class should have only one reason to change. Single Responsability Principle.

Apresentações semelhantes


Apresentação em tema: "A class should have only one reason to change. Single Responsability Principle."— Transcrição da apresentação:

1 A class should have only one reason to change. Single Responsability Principle

2 SRP ou coesão é um dos princípios básicos de OO. Definição: Cada classe deve ter uma única responsabilidade (razão para mudar). Muitos Design Patterns tem como base SRP ( Factory, Chain of Responsability etc). A partir da definição de SRP podemos dizer que: Se uma classe possuir mais de uma responsabilidade deve-se considerar sua decomposição em mais classes. Cada responsabilidade é um eixo de mudança, e as fontes de mudança devem ser isoladas. Vemos na imagem acima que a classe Retângulo tem dois métodos. Area() - Calcula a área que retângulo irá ocupar. Desenhar() - Desenha o retângulo. Esse é um caso de violação da responsabilidade única pois a classe Retângulo tem duas reponsabilidades.

3 Dessa forma qualquer alteração feita no calculo pode afetar a parte gráfica, assim como uma alteração na parte gráfica pode afetar a parte matemática. Para evitar isso devemos separar as responsabilidades em classes especializadas. Dessa forma qualquer alteração feita em uma das classes não altera a outra. SRP também é usado para justificar o desenvolvimento em camadas, já que cada camada foi feita para separar a interface, negocio e dados. Quando precisarmos buscar os dados do cliente em nossa aplicação teremos as classes Clientes.aspx, ClientesBLL, ClientesDAO. Cada uma com sua responsabilidade.

4 Conclusão SRP é um princípio simples mas muito difícil de ser alcançado. Unir responsabilidades em um único lugar é algo que fazemos naturalmente. Achar e separar essas responsabilidades é o verdadeiro desafio do design de softwares.


Carregar ppt "A class should have only one reason to change. Single Responsability Principle."

Apresentações semelhantes


Anúncios Google