Comme décrit sur this website,Transformer la cohésion séquentielle en cohésion fonctionnelle?
Un module avec (uniquement) la cohésion de procédure est l'une des activités de support différentes et peut-être sans rapport, dans lequel la commande passe d'une activité à l'autre. Page-Jones donne un exemple d'un module (dont le nom pourrait être quelque chose comme, `` préparer pour vacances Repas: « »
- ustensiles propres de repas Précédent
- Préparer la Turquie pour le rôtissage
- Marque Appel téléphonique
- prendre une douche
- légumes Chop
- Set de table
Maintenant, ma question est, si chacune de ces activités, à savoir faire appel téléphonique, sont extraits dans leur propre méthode, mais tous sont encore appelés dans ce même ordre -à-dire
private void PrepareForHolidayMeal()
{
CleanUtensilsfromPreviousMeal();
PrepareTurkeyforRoasting();
...
SetTable();
}
cette méthode est encore un exemple de la cohésion procédurale? Ou est-ce fonctionnellement cohésif car il soutient les activités pour l'exécution d'une tâche liée au problème, dans ce cas préparant pour un repas?
Je vois ce que vous voulez dire par rapport à la validité de cleanUtensils et de makePhoneCall. Le but de ma question n'était pas tellement de faire avec le contenu même des méthodes mais avec la structure de la méthode principale prepareHolidayMeal. En supposant que toutes les opérations sont valides et nécessaires, est-ce que le fait de les déplacer dans leurs propres méthodes change le type de cohésion de procédural à fonctionnel? – x1886x
cohésion signifie «collé ensemble» - si vous les dégroupez, les choses vont mieux. Dès que vous recommencez à empaqueter, vous devez faire attention.Vous pouvez toujours créer de nouveaux groupes, ce qui est au moins utile. Le problème de suivi pourrait être que la dissimulation d'informations est alors rompue. Vous avez donc besoin d'un bon équilibre. –