D4vidOliveir4 Menu

Softwares e Fotografia

Coesão e Acoplamento

Coesão e acoplamento são conceitos da orientação a objetos bem simples... Coesão diz respeito a responsabilidade das classes, acoplamento ao quantas conexões essa classe tem. Na pratica o objetivo é sempre aumentar a coesão das classes e diminuir o acoplamento!

Vamos deixar mais claro...


Coesão

Uma classe coesa é uma classe que tem apenas uma responsabilidade, isso quer dizer que ela faz apenas o que ela precisa fazer... Uma luz vai apenas iluminar, se ela começa a iluminar, tocar musica, fazer café etc... ela perdeu coesão e começou a cumprir as responsabilidades de outras classes. E a forma mais fácil de manter a coesão das classes é quebra-las em classes menores. Uma lâmpada, um tocador de musica, um fazedor de café etc... e no final você pode criar outra classe e juntar tudo isso.


Acoplamento

Esse é impossível de evitar mas bom minimizar, uma classe muito acoplada é aquela classe que usa tudo que existe no sistema. Ela precisa da calculadora, precisa do bloco de notas, precisa no paint... E sendo sincero você vai ter que ter classes assim no seu sistema, o problema começa quando todas as classes precisam de todas as classes e tudo ta amarrado em tudo. E pra resolver isso são dois passos, analisar a arquitetura do sistema e quebrar as classes em classes mais coesas para que as classes possam ser reaproveitadas e tudo esteja onde deveria estar e a coesão fique apenas nas classes que unificam tudo (como no exemplo da lâmpada que faz tudo ali de cima).


E não esqueçam o objetivo é AUMENTAR a coesão e DIMINUIR o acoplamento... não o contrario. 

28/09/2022