Bonjour,
je viens d'avoir une conversation avec mon supérieur et j'aimerais votre avis sur le concept POO...
Je possède 2 tables:
1 2 3 4 5 6 7 8
| TABLE PERSONNES(
ID,
NOM,
COUNTRY_ID)
TABLE COUNTRIES(
ID,
NOM) |
Selon moi, je créé donc la classe "Country.cs" de cette façon
1 2 3
| public class Country
public int id {get;set;)
public string nom{get;set;} |
et la classe "Personne.cs" de cette manière
1 2 3 4
| public class Personne
public int id {get;set;)
public string nom{get;set;}
public Country country{get;set;} |
et après avoir initialisé tout ça (Je vous épargne le code), idéalement, je déclare un pays ma personne:
1 2 3
|
Country country = new Country ("USA");
Personne pers = new Personne("Jean", country); |
et je suis tout content d'avoir mon objet et de pouvoir obtenir le pays de ma personne comme ceci...
Maintenant, mon supérieur m'a signifié que la "manière" de créer les classes n'était pas correct, car une classe doit représenter la base de données -->
1 2 3 4
| public class Personne
public int id {get;set;)
public string nom{get;set;}
public int countryId{get;set;} |
et que ensuite, nous pouvions rechercher le nom du pays en faisant une requête du style:
Country country = SELECT * FROM COUNTRIES WHERE ID = pers.countryId;
ce qui selon moi est une aberration que de faire "matcher à l'identique" les champs de la base de données avec les classes objets...
Ai-je perdu tous mes concepts ou... autre chose ???
Merci de vos lumières...
Partager