Bonjour,
Je développe une appli qui permet de gérer des clients, fournisseurs, commandes, articles, etc.
Ces entites sont stockées dans une base de données
Suite à de nombreux messages laissé sur ce forum, je vais organiser cette application en couche: métier, dao, vue, et peut-être controller.
Je cherche à modeliser client et fournisseur.
Dans ma base de données, j'ai deux entités distinctes:
Table client:
Table fournisseur:CREATE TABLE T_CLIENT (
cli_id integer primary key, -- Identifiant du client Clé Primaire
cli_name varchar(32), -- Nom du client
cli_Adress varchar(32), -- Adresse du client
cli_cp varchar(5), -- Code Postal du client
cli_ville varchar(32), -- Ville du client
cli_tel varchar(20), -- Telephone du client
cli_fax varchar(20), -- Fax du client
);
Donc je pensais développer deux classes :CREATE TABLE T_FOURNISSEUR (
fou_id integer primary key, -- Identifiant du fournisseur
fou_name varchar(32), -- Nom du fournisseur
fou_adress varchar(32), -- Adresse du fournisseur
fou_cp varchar(5), -- Code Postal du fournisseur
fou_ville varchar(32), -- Ville du fournisseurur
fou_tel varchar(20), -- Telephone du fournisseur
fou_fax varchar(20), -- Fax du fournisseur
);
Classe Client:
Classe Fournisseur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class Client { private int id; private String name; private String adress; private String cp; private String ville; private String telephone; private String fax; int getId(){ return id; } String getName(){ return name; } String getAdress(){ return adress; } void setAdress(String adress){ this.adress=adress; } [..] }
Donc les deux entités ont leur propriétés communes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class Fournisseur { private int id; private String name; private String adress; private String cp; private String ville; private String telephone; private String fax; int getId(){ return id; } String getName(){ return name; } String getAdress(){ return adress; } void setAdress(String adress){ this.adress=adress; } [..] }
Et puis après tout, client et fournisseur sont des sociétés, certaines sont pour moi des clients et d'autres des fournisseurs.
J'ai pensé alors crée une sur-classe société et deux sous-classes client et fournisseur.
Qu'en pensez-vous ?
Mais quand on y regarde bien, client et fournisseur n'est pas vraiment une spécialisation de société, n'est-ce pas ? Donc, ce n'est pas vraiment une solution.
Mais c quand même dommage d'avoir des propriétés quasi toutes communes entre ces deux classes.
Ou devrai-je faire une classe identification. Et les classes Client et Fournisseur aurait chacune une propriété de type identification.
Ou je crée une classe Société et j'ajoute une propriété qui distingue si cette société est un client ou un fournisseur.
Qu'en pensez-vous ?
Comment modeliseriez-vous tout ça ?
Merci pour vos réponses.
++
Partager