13. Coesão de Componentes
REP, CCP, CRP: o que vai junto em um componente.
Resumo
- REP (Reuso/Release): granularidade de reuso = granularidade de release. Versão, notas, tema coeso.
- CCP (Fechamento Comum): junte o que muda pelas mesmas razões e ao mesmo tempo. SRP para componentes.
- CRP (Reuso Comum): não force usuários a depender do que não usam. ISP para componentes.
- REP e CCP incluem (componentes maiores). CRP exclui (componentes menores).
- Triângulo de tensão: início do projeto favorece CCP (desenvolvimento); maturidade puxa para REP (reuso).
Perguntas-chave
responda de cabeça, depois abraQual princípio de componente corresponde ao SRP?
CCP: reúna classes que mudam pelas mesmas razões; separe as que mudam por razões diferentes.
Qual princípio de componente corresponde ao ISP?
CRP: não dependa de componentes com coisas que você não usa.
Onde ficar no triângulo no começo do projeto?
Perto de CCP/CRP, priorizando facilidade de desenvolvimento. Reuso (REP) ganha peso depois.
Exercícios de fixação
0/5 respondidas1.
Uma mudança de regra fiscal exige alterar classes espalhadas em 6 componentes, gerando 6 releases. Qual princípio está sendo violado?
2.
Um time importa uma biblioteca inteira para usar uma única classe e sofre a cada nova versão. Qual princípio orienta separar essa biblioteca?
3.
Quais princípios tendem a deixar os componentes maiores?
4.
O que o REP exige de um componente reutilizável?
5.
No triângulo de tensão, um projeto que ignora o CCP sofrerá com: