|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 298 ![]() |
Bonjour,
J'ai une architecture avec une couche façade dans laquelle on trouve les modules : * facade : contenant les interfaces (java) des façades. Il est indépendant du module services de la couche métier ; * facadeImpl : contenant les implémentations des interfaces des façades. Il a une dépendance vers le module services de la couche métier. Je veux ajouter une factory pour permettre au client d'accéder aux interfaces. Cette factory permettra au client d'instancier les classes de facadeImpl sans qu'il ait accès à ce module. Le client ne connaît que le module facade. Je voudrais savoir où mettre la factory dans le découpage de mon application. Est-ce que je le met dans le module facade ou je le met dans un module à part ? Sachant qu'il devra être accessible par le client. A quoi sert vraiment le fait d'avoir facade et facadeImpl ? Quelle est la valeur ajoutée d'avoir des interfaces et ensuite une implémentation de ces interfaces dans la couche facade ? Cordialement. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : mars 2005 Messages : 600 ![]() |
Bonjour,
Tu pourrais mettre ta factory dans le module facade; ça n'est pas très important (tu peux regarder la hiérarchie du package java.net par exemple). L'intérêt des interfaces est multiple; parmi les plus intéressants:
__________________
Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros! Code C :
|
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 298 ![]() |
Je te remercie kain_tn pour ta réponse.
1. Le mieux est mettre des interfaces ou des classes génériques ? 2. Si je mets factory dans facade j'aurai facade qui dépend de facadeImpl et facadeImpl qui dépend de facade. Est-ce normal d'avoir deux modules avec une dépendance dans les deux sens ? |
|
|
00
|
|
|
#4 | ||||||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Personnellement, je ferais cela ainsi:
Facade.java Code java :
FacadeImpl.java Code java :
Factory.java Code java :
Utilisation en dehors du pacakge: Code java :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||||||
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 298 ![]() |
Je te remercie Xavier pour ta proposition.
|
|
|
00
|
|
|
#6 | |||
|
Membre Expert
![]() Inscription : mars 2005 Messages : 600 ![]() |
Personnellement je privilégie les interfaces au reste. Je passe par des classes abstraites (je pense que c'est ce que tu voulais dire, car les classes génériques sont les classes paramétrées) si j'ai besoin de définir du code à hériter.
Citation:
__________________
Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros! Code C :
|
|||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com