Instructions: Dépendance à l'importation dans la conception
La dépendance à l'importation est une relation de package à package. Ces instructions sont une introduction à ce type de relation.
Relations
Eléments connexes
Description principale

Explication

Le traitement des dépendances à l'importation entre packages est un aspect important dans la structure d'un modèle d'objet. Un package est dépendant d'un autre package si une de ses classes, quelle qu'elle soit, a des relations navigables vers des classes dans l'autre package. Pour exprimer de telles dépendances, vous utilisez la dépendance à l'importation d'un package à celui dont il dépend.

Diagramme montrant des relations entre un composant et un opérateur, une alarme, une imprimante, un client et un élément consigné.

Les dépendances entre packages sont exprimées par les dépendances à l'importation.

Utilisation

Vous développez les dépendances à l'importation de la manière suivante :

  • Avant de commencer à travailler avec le modèle d'objet, exposez les grandes lignes des dépendances que vous utiliserez comme instructions durant votre travail.
  • Lorsque le modèle est terminé, utilisez-le pour montrer les dépendances effectivement présentes. Cela impose de mettre à jour les dépendances à l'importation dans le modèle d'objet.
  • Si vous avez précédemment divisé le modèle en packages, utilisez les dépendances à l'importation pour montrer l'endroit où les dépendances sont permises.
  • La manière dont les packages dépendent les uns des autres modifie la tolérance du système au changement. Un modèle d'objet sera plus facile à modifier si vous :
  • Référencez un nombre minimum de classes contenues de l'extérieur de chaque package. Si vous référencez beaucoup de classes, vous donnez beaucoup trop de responsabilités différentes au package et vous devrez le diviser en deux.
  • Rendez chaque package dépendant de peu d'autres packages.
  • Testez chaque package séparément. Cela veut dire que vous devriez pouvoir tester un package en simulant le package dont il dépend. Vous ne devez pas exiger que les autres packages soient complètement ou presque complètement implémentés. Si vous pouvez tester un package séparément des autres, la maintenance et le développement du système seront plus faciles.
  • Placez des parties générales du modèle d'objet dans des packages séparés dont dépendent d'autres packages. Si vous avez de tels packages, faîtes bien attention à la poignée de déverrouillage car plusieurs parties du système peuvent être affectées par les changements du package.

Exemple

Supposez que vous trouviez des éléments communs aux classes Panneau client et Panneau de commande dans la machine de recyclage. Vous attribuez ces services généraux à une nouvelle classe, Panneau, que vous placez dans un nouveau package, Panneaux. Les deux autres classes peuvent donc faire référence à cette classe pour utiliser les services généraux. Les classes appartenant à deux packages séparés, ces deux packages vont dépendre du nouveau package. L'élimination de redondances implique que les changements de la fonctionnalité commune n'ont besoin d'être faits qu'une seule fois.