J'ai fait des recherches pour mieux comprendre le concept de cohésion fonctionnelle. Myers dans son livre " Conception structurée composite" a écrit sur la cohésion fonctionnelle:
Un module de force fonctionnelle est défini comme un module qui effectue une fonction spécifique unique.
Il a également écrit dans " logiciel fiable via le design composite" À ce sujet:
Dans un module de force fonctionnelle, tous les éléments sont liés aux performances d'une fonction unique.
D'autres auteurs ont exprimé des vues similaires:
Chaque élément essentiel à un calcul unique est contenu dans le composant. Un composant cohérent de manière fonctionnelle est:
- Celui qui effectue non seulement la tâche pour laquelle il a été conçu mais
- il n'effectue que cette fonction et rien d'autre.
ou:
Cohésion fonctionnelle: chaque partie nécessaire à l'exécution d'une fonction unique. E.G., calculez la racine carrée ou trier le tableau.
Ma question est:
Il y a une confusion entre:
cohésion fonctionnelle est à peu près ce dernier: il s'agit d'avoir un module, un package, un composant qui constitue un objectif spécifique. Vous pouvez par exemple avoir:
Bien sûr, nous travaillons ici avec des concepts offrant une certaine pièce d'interprétation et qui est difficile à mesurer avec précision.
La cohésion fonctionnelle n'a rien à voir avec la responsabilité unique. Et la responsabilité unique a simplement rien à voir avec une seule chose. La responsabilité unique concerne uniquement la raison des changements et la responsabilité de définir l'interface (voir article de l'oncle Bob : Il a inventé le concept de sorte que le concept a donc une autorité sur ce que cela signifie vraiment)