Ferramentas do usuário

Ferramentas do site


solid:srp

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
solid:srp [2015/07/18 17:54]
morvanabonin [Principio da Responsabilidade Única]
solid:srp [2015/07/18 18:34]
morvanabonin [Principio da Responsabilidade Única]
Linha 1: Linha 1:
-====== Single Responsibility Principle ======+====== Single-Responsibility Principle ======
  
 ===== Principio da Responsabilidade Única ===== ===== Principio da Responsabilidade Única =====
Linha 5: Linha 5:
 //A classe deve ter um, e somente um, motivo para mudar.// //A classe deve ter um, e somente um, motivo para mudar.//
  
 +No contexto do Principio da Responsabilidade Única (SRP), é definido que a responsabilidade de uma classe é definida como uma razão para a mudança. Se uma classe tem mais de uma razão para mudar, então ela tem mais de uma responsabilidade. 
  
 +Uma classe que possui uma única responsabilidade também é considerada uma classe coesa, ou seja, ela não toma conta de mais de um conceito do sistema.
  
 +Classes coesas são mais simples de serem mantidas, possuem menos código e seu reúso é maior. 
 +
 + **Toda classe que não é coesa não para de crescer nunca.**
 +
 +Nem sempre é fácil enxergar a responsabilidade de uma classe. Talvez essa seja a maior dúvida na hora de se pensar em códigos coesos. É fácil entender que uma classe deve ter apenas uma responsabilidade. O difícil é definir o que é uma responsabilidade, afinal é algo totalmente subjetivo. **Por isso, geralmente, colocamos mais código do que deveríamos nela. Dois comportamentos "pertencem" ao mesmo conceito/ responsabilidade se ambos mudam juntos.**
 +
 +
 +//Fontes de pesquisas//\\
 +[[http://www.casadocodigo.com.br/products/livro-oo-solid|Orientação a Objetos e SOLID para Ninjas]]\\
 +[[http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445|Agile Software Development, Principles, Patterns, and Practices]]
solid/srp.txt · Última modificação: 2015/07/18 18:55 por morvanabonin