Bonjour,
Petit problème de conception :
Une classe "Element" contient en attribut une liste de sous éléments qui héritent d'une interface ISousElement.
On a donc dans la classe Element l'attribut :
private List<ISousElement> liste = new ArrayList<ISousElement>();
Des classes diverses héritent de ISousElement : SousElement1, SousElement2, etc...
Ceci est résumé dans l'image ci dessous :
Vient le problème :
Certains Viewers sont dédiés à la visualisation de SousElement1.
D'autres Viewers sont dédiés à la visualisation de SousElement2.
Je dois donc dans chacun des Viewer êtes capable de récupérer une liste filtrée.
- Dois-je dans mon Viewer passer par un instanceof pour filtrer mes données d'entrée ?
- Faut il créer plutôt une méthode getList(Class class) qui permettrait de récupérer uniquement les instances du vecteur de la classe indiquée ?
- Faut-il en fait avoir 2 listes dans Element, une pour SousElement1, l'autre pour SousElement2 ?
- Ma conception est elle mauvaise ?
Comment faire pour que ma conception soit propre et modulaire ?
Merci d'avance !
Partager