OVH Cloud OVH Cloud

Aide pour hierarchie de mes objets

1 réponse
Avatar
Geoffrey
Bonjour,

J'ai un projet en c# / .net2
J'interface un module de gestion d'acces. Je dosi apr exemple recevoir des
evenements et ajouter des utilisateurs.
quand je recois ou envoie, j'ai un paquet d'un format specifique qui
contient un paquet de donnée. Le paquet de données contient 2 infos + des
données. Selon les 2 infos, les données veulent spécifier différents
"commandes".

Pour bien faire cela en POO, je pensais aux objets suivants.

un objet "packet"
un objet "data"
des objets commandestype1, commandestype2, ...

Comme hierarchie :
soit 1) je derive le packet pour avoir les data que je derive ensuite pour
avoir commande. (L'objet connait ainsi son packet, ...)
soit 2) j'ai un packet qui contient un objet data qui contient un objet
commande. Selon mon explication, ca semble plus logique, mais ma
manipulation se fait surtout sur l'objet commande. (les autres objets ne
sont là que pour la communication.

Mais je peux avoir une dizaine d'objets "commande". Le type de l'objet est
choisi selon les 2 champs dans data.
Dans le cas 2, comment faire cela ?

Dans le cas 1, je peux facilement construire un objet commande (et les
objets data, packet sous jacent)
Mais lorsque je recois un evenements, j'ai un "packet", comment en
construire l'objet commande ?
Je peux construire data puis selon les 2 champs construire l'objet commande
correspondant en donnant au constructeur l'objet data (pour ne pas devroi le
reconstruire).
Ca me semble lourd



Quels sont vos idées ?


Merci

1 réponse

Avatar
Christophe Gricourt
Je pense que dans ce contexte, on peut typiquement mettre en oeuvre le design
pattern "factory"
En gros:
- appeler la factory en lui fournissant un objet "packet"
- la factory retourne un objet commande concret (implémentant une interface
commuce à toutes les commandes - typiquement méthode Execute et propriété
Data) créé en fonction du contenu du packet - la factory peut également se
charger d'instancier la propriété Data
- la méthode principale (ne dépendant que de l'interface Commande et non
pas du type concret) invoque la méthode Execute

hth,
- Christophe


Bonjour,

J'ai un projet en c# / .net2
J'interface un module de gestion d'acces. Je dosi apr exemple recevoir
des
evenements et ajouter des utilisateurs.
quand je recois ou envoie, j'ai un paquet d'un format specifique qui
contient un paquet de donnée. Le paquet de données contient 2 infos +
des
données. Selon les 2 infos, les données veulent spécifier différents
"commandes".
Pour bien faire cela en POO, je pensais aux objets suivants.

un objet "packet"
un objet "data"
des objets commandestype1, commandestype2, ...
Comme hierarchie :
soit 1) je derive le packet pour avoir les data que je derive ensuite
pour
avoir commande. (L'objet connait ainsi son packet, ...)
soit 2) j'ai un packet qui contient un objet data qui contient un
objet
commande. Selon mon explication, ca semble plus logique, mais ma
manipulation se fait surtout sur l'objet commande. (les autres objets
ne
sont là que pour la communication.
Mais je peux avoir une dizaine d'objets "commande". Le type de l'objet
est
choisi selon les 2 champs dans data.
Dans le cas 2, comment faire cela ?
Dans le cas 1, je peux facilement construire un objet commande (et les
objets data, packet sous jacent)
Mais lorsque je recois un evenements, j'ai un "packet", comment en
construire l'objet commande ?
Je peux construire data puis selon les 2 champs construire l'objet
commande
correspondant en donnant au constructeur l'objet data (pour ne pas
devroi le
reconstruire).
Ca me semble lourd
Quels sont vos idées ?

Merci