Ben en fait le plus simple est de raisonner de manière la plus abstraite possible.
En gros (vraiment simpliste):
1. Qu'est ce qu'un client, qu'est ce qu'une commande
-> avec ça tu définis tes classes. Par exemple ton objet client possède des attributs comme un nom, un prénom, une adresse ...
2. Comment sont liés mes clients et mes commandes ? Est ce que c'est au client que j'ajoute une commande ? est ce qu'une commande peut être liée à plusieurs clients ? Est ce qu'un client peut exister sans avoir de commande ? ...
3. qu'est ce que la gestion de mon magasin ?
-> un système qui me permets de gérer une liste de clients (ajout, modif, supression ...), de créer des commandes ...
En réfléchissant à ces 3 points tu devrais réussir à créer 3 classes, Client, Commande et Magasin. Déjà c'est un bon point de départ et tu pourras déjà faire des tests, relier tout ça à la base de données ...
Pour répondre à tes questions :
1 : A priori ton Magasin possède une liste de Clients.
Dans la classe magasin tu auras surement qqchose comme
List listeClients = new ArrayList();
Pour ajouter un client, il suffit de faire :
listeClients.add(new Client( ...));
Mais ce n'est qu'un exemple. Tu peux penser à d'autres manières de faire, il faut que ça représente vraiment le "métier"
2 : ce n'est pas important.
Ta vue doit être capable d'afficher une liste de Clients. C'est simplement l'affichage de plusieurs clients. a toi de définir au niveau du client ce qu'il faut afficher ou non. Après que tu fasse ça dans une liste déroulante, un tableau ... peut importe. Un client reste un client. Tu dois pouvoir l'afficher comme tu le souhaites. Il ne faut pas que tu crées ta classe client en pensant "mais comment ça va donner graphiquement ?"
3 : Ces classes sont simplement liées par les références qu'elles ont entre elles. La classe "visuelle" aura tout simplement une référence sur la liste des clients de ton magasin. Elle elle fera juste un truc comme client.affiche()
Cette méthode affiche peut simplement se contenter de faire par exemple
1 2
|
System.out.println("Client : "+client.getNom()+" "+ client.getPrenom()); |
Bref, j'espère que je suis pas en train de t'embrouiller là ...
Pour commencer contente toi simplement de faire ta classe Client, ta classe Commande et ta classe Magasin (sans la bdd au début). Une fois que tu auras ça, le reste viendra beaucoup plus facilement ...
Bon courage
Partager