Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Newbie]Conception avec Composition

4 réponses
Avatar
barca23
Bonjour toute monde,

Je suis en train de développer une application de création de contrat mais
je me pose une question sur ma conception POO.

Mon application est composé de deux classes:

Classe contrat et classe item.

Dans chaque classe contrat, j'aurais une table qui contiendra une référence
des objet Item crées.
Mon probléme de conception se pose lorsque je veux accepter à partir de ma
classe item vers la classe Contrat.

Ex : J'ai le numéro de fournisseur dans ma classe contrat et je voudrais
avoir dans ma classe item la devise de ce fournisseur.

Pour le moment ,je passe dans ma classe item la réference vers mon objet
Contrat donc des références croisées.
Est ce une bonne solution ou existe t'il d'autres possibilités pour gérer
ce cas?

Merci d'avance,

Barca23

4 réponses

Avatar
Rémi Cocula
barca23 wrote:


Ex : J'ai le numéro de fournisseur dans ma classe contrat et je voudrais
avoir dans ma classe item la devise de ce fournisseur.


Tu ne dis pas ou se trouve la devise en question. Dans ta classe contrat ou
as tu une classe Fournisseur ?


Pour le moment ,je passe dans ma classe item la réference vers mon objet
Contrat donc des références croisées.


Ca me semble être la solution en effet.


Merci d'avance,

Barca23


Avatar
Hervé AGNOUX
barca23 wrote:


Ex : J'ai le numéro de fournisseur dans ma classe contrat et je voudrais
avoir dans ma classe item la devise de ce fournisseur.

Pour le moment ,je passe dans ma classe item la réference vers mon objet
Contrat donc des références croisées.
Est ce une bonne solution ou existe t'il d'autres possibilités pour gérer
ce cas?



Pour moi, dans ce cas, il ne faut pas mettre de devise de fournisseur dans
la classe item. Ce n'est pas justifié de part ta description du domaine. Tu
devras donc écrire quelque chose du genre
contrat.getFournisseur().getDevise(), à chaque fois.

Mais j'avoue n'avoir pas très bien compris ce qu'était cet "item"...


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
barca23

Pour moi, dans ce cas, il ne faut pas mettre de devise de fournisseur
dans la classe item. Ce n'est pas justifié de part ta description du
domaine. Tu devras donc écrire quelque chose du genre
contrat.getFournisseur().getDevise(), à chaque fois.

Mais j'avoue n'avoir pas très bien compris ce qu'était cet "item"...



Pour étre précis, la classe Contrat est un bon de commande et la classe
item sont les lignes de mon bon de commande.
Donc les infos du fournisseur se trouvent au niveau Contrat .

Ex Bon de Commande --> Fournisseur 1234 Devise Eur.
Item 10 - Commande de 10 piéces matériel 555-D à 12 Euros.
Item 20 - Commande de 15 piéces matériel 567-D à 10 Euros.

Chaque fournisseur a une devise propre dans ses données de base.

Merci pour vos réponses,

Barca23

Avatar
Thomas Nguyen
On Fri, 28 Jan 2005 21:51:11 +0100, Rémi Cocula wrote:


Pour le moment ,je passe dans ma classe item la réference vers mon objet
Contrat donc des références croisées.


Ca me semble être la solution en effet.


Hummm. Y a pas de doute, ça marche. Cela dit, je me demande si c'est la
solution la plus élégante.

Si la classe Item à besoin de connaitre la devise, mon premier réflexe
aurait été de lui passer la devise, plutôt que le contrat.


Après, je me pose encore une question: à quoi ça sert que les items
connaissent la devise?

La seule raison que je vois, c'est pour de l'affichage, et je vois pas
trop l'interêt de marquer la devise sur chaque ligne du bon de commande.
Suffit de l'afficher une bonne fois pour toute au niveau du bon de
commande.