Cohésion en génie logiciel, comme dans la vie réelle, c'est la mesure dans laquelle on peut dire que les éléments d'un ensemble (dans notre cas, disons une classe) appartiennent réellement ensemble. Il s'agit donc d'une mesure du degré de parenté de chaque élément de fonctionnalité exprimé par le code source d'un module logiciel.
Une façon de considérer la cohésion en termes d'OO est de savoir si les méthodes de la classe utilisent l'un des attributs privés.
La discussion est plus large que ça, mais Cohésion élevée (ou le meilleur type de cohésion - la cohésion fonctionnelle) est lorsque les parties d'un module sont regroupées parce qu'elles contribuent toutes à une seule tâche bien définie du module.
Accouplement en termes simples, c'est la mesure dans laquelle un composant (encore une fois, imaginez une classe, mais pas nécessairement) connaît le fonctionnement interne ou les éléments internes d'un autre composant, c'est-à-dire la mesure dans laquelle il connaît l'autre composant.
Accouplement libre est une méthode d'interconnexion des composants d'un système ou d'un réseau de sorte que ces composants dépendent les uns des autres dans la mesure la plus faible possible
J'ai écrit un article de blog à ce sujet. Il aborde tout cela de manière très détaillée, avec des exemples, etc. Il explique également les avantages pour lesquels vous devriez suivre ces principes.
4 votes
Pour une explication plus détaillée, vous pouvez préférer la réponse de ce post Cohésion et couplage
0 votes
Cette réponse est certainement meilleure et plus concise que celles données ici.
0 votes
En fait, il s'agit d'un doublon. Answer by Infinity est le seul doublon qui n'a pas été mentionné jusqu'à présent.