2 - Coesão e Acoplamento

O GRASP define pelos princípios low coupling e high cohesion que as classes em um sistema devem ser definidas para ter baixo acoplamento e alta coesão. Mas o que é acoplamento e coesão? Vejamos a seguir.

a) Coesão

Coesão significa uma divisão clara de responsabilidades: cada classe deve ter sua responsabilidade bem definida (de preferência que seja uma única responsabilidade).

Digamos o seguinte código:

public class FormCadastro {
    
    public FormCadastro() {
    }

    public void gravarCliente() {
    }

    public void gravarFornecedor() {
    }

    public void enviarEmail() {
    }
}

A classe FormCadastro está coesa? A responsabilidade de gravar clientes ou fornecedores e enviar e-mail deveriam ser desta classe? Como suas responsabilidades não estão bem definidas, dizemos que ela está com baixa coesão.

Copyright © 2014 AIEC.