Um resumo sobre coesão e SRP
O que é uma classe coesa? Uma classe coesa é aquela que tem apenas uma responsabilidade. Classes coesas são menores, mais organizadas, fáceis de manter e reutilizar. Exemplo de classe com baixa coe...

Source: DEV Community
O que é uma classe coesa? Uma classe coesa é aquela que tem apenas uma responsabilidade. Classes coesas são menores, mais organizadas, fáceis de manter e reutilizar. Exemplo de classe com baixa coesão class CalculadoraDeSalario { calcula(funcionario) { if (funcionario.cargo === "DESENVOLVEDOR") { return this.dezOuVintePorcento(funcionario); } if (funcionario.cargo === "DBA" || funcionario.cargo === "TESTER") { return this.quinzeOuVinteCincoPorcento(funcionario); } throw new Error("Funcionário inválido"); } dezOuVintePorcento(funcionario) { if (funcionario.salarioBase > 3000) { return funcionario.salarioBase * 0.8; } return funcionario.salarioBase * 0.9; } quinzeOuVinteCincoPorcento(funcionario) { if (funcionario.salarioBase > 2000) { return funcionario.salarioBase * 0.75; } return funcionario.salarioBase * 0.85; } } Problemas dessa classe A classe precisa saber todos os cargos. Muitos ifs → sempre que surgir um novo cargo, a classe precisa ser alterada. As regras de cálculo não p