2010-07-29 2 views
2

J'ai un objet peut être composer par des composants, mais chaque composant a un type et doit être unique:Quel motif utiliser en remplacement du composite avec un nombre limité de types d'éléments?

Class Client{ 
    Set<IComposite> elements 
} 
interface IComposite{ 
    String getType(); 
} 
class Status implements IComposite{ 
    String getType(){return "status"} 
} 
class ClientDates implements IComposite{ 
    String getType(){return "clientdate"} 
}  

Je suppose que je pourrais résumer la collection, mais chaque élément doit être unique, si seulement 1 état, seulement un clentdate, mais peut-être puis-je créer une nouvelle classe Composite qui pourrait être multiple.

Une idée comment concevoir cela?

Merci beaucoup

Répondre

0

vous pouvez avoir un dictionnaire comme la collection de vos éléments avec leur identifiant unique (type dans votre cas) comme la clé du dictionnaire. en ajoutant l'élément, vous pouvez vérifier si l'élément existe dans le dictionnaire. Ainsi, vous pouvez conserver la collection avec des éléments uniques.

+0

droite. J'ai oublié le dictionnaire! Aïe –

Questions connexes