JAVA: Dépendances croisées entre modules [Résolu]

betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 11:27 - Dernière réponse : betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention
- 28 mai 2009 à 17:11
Bonjour,

Je suis sur un Projet que je dois mavéniser, je l'ai divisé en sous modules...
Je dois mettre dans chaque sous module les classes correspondantes.
Soit:
Module1:contient les classes commun, contient aussi les classes propres a module2 et module3, on a des classes de commun qui dépendent du module2 et 3
Module2:dépend du module1
Module3:dépend du module1
Donc, problème de dépendances croisées.
Je dois ranger dans le module1 (commun ) que les classes commun(aucune classe propre au module2 ou 3 ne doit y être).
Or, je donne un exemple, j'ai une classe de commun(module1) qui a une méthode dont l'argument est une classe du module2, et du module3.
* methode1(classeA a, classeB b) ; tel que classeA doit être dans le module2, et la classeB doit être dans le module3, si je deplace ces deux classes du module1, et que je les mets dans mod2 et mod3, ca va pas marcher surement! je ne sais pas comment je pourrais casser cette dependance.

Merci d'avance!
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 27 mai 2009 à 12:16
3
Merci
Salut,

Ton module commun ne doit dépendre de rien, sinon ce n'est pas un module commun !

Utilise donc des interfaces : tu mets les interfaces dans ton module commun, et tu fait implémenter tes classes de tes deux autres modules de ces interfaces, ainsi le module commun pourra appeler les méthodes de tes classes, sans savoir de quel type exact elles sont !

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 12:25
0
Merci
Bonjour,
Merci pour ta réponse!
Pour commun oui il ne doit dépendre de rien. (c'est ce que je voulais dire), je dois avoir au final un commun, et les 2 autres modules. qui peuvent dépendre de commun.
J'ai déjà pensé a cette solution, sauf que dans l'interface je dois déclarer la méthode avec les arguments (classeA et classeB) donc ca revient au même...
Merci bcp!
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 14:05
0
Merci
Je rectifie, je dois ajouter deux interfaces (dans commun), qui seront implémentées par les deux classes A et B qui seront placées dans modules2 et module3. Comme ca commun fera appel aux interfaces, et n'aura aucune dépendances sur les 2 modules.
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:01
0
Merci
J'ai un autre problème, c'est que la classeA elle même dépend d'autre classes du même module module1, donc en créant l'interface, je dois importer ces classes, cela dit il y aura toujours des dépendances sur commun.
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:02
0
Merci
Je m'excuse.. (je veux dire la classeA dépend du module2)

Merci d'avance!
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:13
0
Merci
Re!
InterfaceA de la classeA qui va implémenter l'interface de la classeC(tel que l'interfaceA a une dépendance sur la classeC(se trouvant dans module2)); donc l'interfaceA va implementer l'interfaceC, et les deux vont être placées dans commun.
est ce que cela peut se faire?

Merci d'avance.
Commenter la réponse de betty555
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 27 mai 2009 à 15:18
0
Merci
J'ai du mal à suivre là :)

Il faut placer toutes les interfaces dont dépend tes classes du module commun dans le module commun, forcément !
Commenter la réponse de cs_DARKSIDIOUS
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:23
0
Merci
comment est ce que je peux supprimer un message ici? je dis vraiment n'importe quoi...
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:31
0
Merci
InterfaceA extends InterfaceC....
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 27 mai 2009 à 15:32
0
Merci
D'accord j'ai compris maintenant, merci beaucoup :)
Commenter la réponse de betty555
betty555 38 Messages postés mercredi 17 janvier 2007Date d'inscription 6 juillet 2010 Dernière intervention - 28 mai 2009 à 17:11
0
Merci
Bonjour,

Une classe de commun doit instancier un objet appartenant au module2, puisqu'il n'y a pas de dépendances entre ces deux modules comment cela peut se faire?

Merci d'avance;
Commenter la réponse de betty555

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.