quel pattern utiliser - C#/.NET managed - Programmation
Marsh Posté le 07-12-2010 à 12:23:01
tu pourrais garder la liste de Nodes private et exposer des méthodes d'ajout et de suppression au niveau de AbstractA.
Tu peux alors mettre de la logique dans tes méthodes d'ajout pour vérifier qu'il n'y a qu'un seul élément dans la classe ConcreteB.
Marsh Posté le 07-12-2010 à 14:45:03
fluminis a écrit : tu pourrais garder la liste de Nodes private et exposer des méthodes d'ajout et de suppression au niveau de AbstractA. |
ben je suis en train de faire quelque chose de similaire justement.
mais j'essaye d'avoir une implémentation la plus generique possible (du moins au niveau des signatures) mais c'est pas evident.
ce que j'aurai bien aimé c'est avoir une espece d'interface qui ferait TypeA et List<TypeA>
J'ai meme pensé a faire 2 classes de containers de TypeA ou List<TypeA> qui elles implementeraient une interface commune. Mais bon je suis pas trop sur de la beauté du truc
Marsh Posté le 07-12-2010 à 11:06:23
Bonjour, j'ai une petite question sur une partie de l'implementation de mon model.
Pour info je suis en C# mais ca devrait pas etre utile pour me repondre.
J'ai un type d'objet, appelons le TypeA
La dessus j'ai une classe abstraite qu'on appelera AbstractA
Les classes concretes derivant de Abstract sont ConcreteA et ConcreteB
J'ai aussi une autre classe Container
AbstractA me dit qu'elle a un attribut "nodes" de type List<TypeA>, cad il a entre 0..* TypeA
Container contient des AbstractA et doit avoir acces a la liste de nodes
dans ConcreteA c'est facile, ConcreteA à une List<TypeA>
par contre dans ConcreteB je voudrais qu'il y ait maximum un seul element dans la List<TypeA>
y a t il un moyen de faire ca?
ci dessous un pseudo code
//ps j'ai simplifié mon cas, en fait TypeA est une interface et j'ai plusieurs classes qui l'implementent, mais je pense pas que ce soit pertinent ici)
---------------
Toinou87 ;-p May the force be with you!!