Problème conception objet pour modeleur UML en GWT
Problème conception objet pour modeleur UML en GWT - Java - Programmation
MarshPosté le 06-05-2009 à 11:24:51
Bonjour à tous, Je travaille actuellement sur un projet open source de modeleur UML en GWT : http://code.google.com/p/gwtuml/ Mais je bloque sur un point : Ma hiérarchie de classe simplifiée est la suivante :
Concrètement je dois lier les artifacts (grosso modo les objets graphiques) entre eux. Les liens n'étant pas les mêmes en fonction de ce qu'ils relient j'ai donc une classe abstraite LinkArtifact qui regroupent les différents type de liens en fonction des cas. Le problème est que dans l'interface (UMLCanvas) je récupère deux objets de type générique (UMLArtifact) que je dois relier entre eux. Pour l'instant je n'ai trouvé d'autre solution que de faire ainsi :
Code :
if (relationKind == RelationKind.NOTE) {
if (uMLArtifactNew.getClass() == NoteArtifact.class) {
Ce que je trouve plutôt mal fait et pas très évolutif.
Ma question est comment faire ca de manière plus objet, avec par exemple une méthode createLink(UMLArtifact, UMLArtifact) redéfinie en fonction des types d'UMLArtifact qui retournerait l'objet LinkArtifact adéquat ?
Je vous remercie grandement de votre aide.
PS : Si mon projet vous intéresse et que vous voulez contribuer n'hésitez pas !
Marsh Posté le 06-05-2009 à 11:24:51
Bonjour à tous,
Je travaille actuellement sur un projet open source de modeleur UML en GWT : http://code.google.com/p/gwtuml/
Mais je bloque sur un point :
Ma hiérarchie de classe simplifiée est la suivante :
Concrètement je dois lier les artifacts (grosso modo les objets graphiques) entre eux. Les liens n'étant pas les mêmes en fonction de ce qu'ils relient j'ai donc une classe abstraite LinkArtifact qui regroupent les différents type de liens en fonction des cas.
Le problème est que dans l'interface (UMLCanvas) je récupère deux objets de type générique (UMLArtifact) que je dois relier entre eux.
Pour l'instant je n'ai trouvé d'autre solution que de faire ainsi :
Ce que je trouve plutôt mal fait et pas très évolutif.
Ma question est comment faire ca de manière plus objet, avec par exemple une méthode createLink(UMLArtifact, UMLArtifact) redéfinie en fonction des types d'UMLArtifact qui retournerait l'objet LinkArtifact adéquat ?
Je vous remercie grandement de votre aide.
PS : Si mon projet vous intéresse et que vous voulez contribuer n'hésitez pas !