On 08/03/2011 11:28, chemit wrote:
Il me semble qu'il y avait une autre facon de faire: - ajouter une méthode stéréotypée(ou tagguée?) dao directement sur l'entité
Ce que j'imagine ----------------
Dans la solution actuelle, je trouve ça bien redondant d'écrire deux fois dao (et surtout le vois pas trop à quoi ça sert...). Il me semble que cela permet, dès la génération des DAO de récupérer ceux décris dans le modèle objectModel, et donc récupérer directement les méthodes ainsi que l'entité associé via la dépendance. Je verrais bien une simplification en supprimant tout simplement le stéréotype dao qui n'apporte pas grand chose. Moi, je trouve ça important le stéréotype "dao"
On Tue, 8 Mar 2011 11:22:09 +0100 Benjamin POUSSIN<poussin@codelutin.com> wrote: pouah c'est vraiment crade... et ça pollue bien le modèle Je suis contre cette solution qui n'a d'ailleurs je pense bien jamais existé (sauf peut-être dans tes rêves ?) En fait si, cette solution existait avant ce changement, mais en effet visuellement cela polluait pas mal l'entité d'avoir des méthodes de DAO stéréotypés. Donc personnellement je préfère l'interface à côté. pk ? merci d'un peu étailler les arguments car :
moi je pense que ça sert à rien, toi le contraire, avec juste ton petit Moi je trouve ça important, ça risque pas de me convaincre... Je pense que Ben, voulait dire qu'il est important de garder le marquage de ces interfaces comme étant des DAO pour les différencier d'une simple interface.
assez dérangeant... On ajoute bien une extension à l'entité (à son DAO) je préfèrerais vraiment une lien dans l'autre sens. Par contre cette liaison, je ne vois pas a quoi elle sert, pour moi, pour la génération y'en a pas besoin, c'est juste un besoin UML ? (pour le lecteur). Ou alors c'est pour savoir quel est le nom du DAO généré au cas ou on permet de mettre un nom dans le modèle différent du nom généré (un peu embêtant si c'est le cas)
Mais de toute façon pour moi elle est dans le bon sens pour moi. En fait il y a deux solutions :
- stéréotype mais pas de dépendance : Il faut parcourir d'abord toutes les interfaces avec stéréotype DAO puis toutes les entités, chaque entité qui possède un DAO "déclaré" aurait des méthodes supplémentaires dans celui ci. Cela impose la convention de nommage sur les DAO (MonEntiteDAO) pour être sûr d'etre sur la bonne entité. Heureusement aussi qu'EUGene transforme d'abord les interfaces sinon il aurait fallut 2 passes. - pas de stéréotype mais une dépendance : Un seul parcours, celui sur les entités, si une entité à une dépendance sur une interface dao, elle aura des méthodes supplémentaires. Dans tout les cas, la version actuelle est un peu batarde vu qu'elle fait plus ou moins les deux. Comme quoi je n'avais pas bien réfléchi a cette problématique. Je suis plus pour la 2ème solution, et en ce qui concerne le sens UML on pourrait la décrire par " une entité dépend d'un DAO pour exister" car en effet c'est le DAO qui contrôle son cycle de vie. Cette liaison est implicite pour tous les cas ou des méthodes de DAO ne sont pas nécessaire.