meta données pour cette page
  •  

Ceci est une ancienne révision du document !


Règles sur les classes

Version : 04-2023

Nommage des classes de donnée (modèle)

Classe correspondant à une table des BDDs

Élément Règle Exemple
Préfixe TSQL + nom de la table TSQLPersonne
Type Classe représentant une table BDD TSQLFamille
Nom du fichier record + nom de la classe recordTSQLPersonne
Emplacement ngx-logeasweb-ui\src\lib\models\BDD\NomBDD\

Classe interne au front

Règle Description Exemple
Préfixe Lettre T suivie d’un nom parlant TPersonnePlus
Extension Utiliser l’héritage plutôt qu’une copie extends TSQLPersonne
Propriété calculée Ajouter une méthode de calcul getNomComplet()
Usage unique Utiliser une interface Interface locale

Exemple :

class TPersonnePlus extends TSQLPersonne {
  nomDeJeuneFille: string;
}

Exemple propriété calculée :

getNomComplet() {
  return `${this.titre} ${this.prenom} ${this.nom}`;
}

Classes dérivées pour affichage

Type Règle Exemple
Nature Interface uniquement (pas de logique)
Nommage Nom de la table + Grid IPersonneGrid
Utilisation Type mis à plat pour une grille DataGrid

Les classes issues des BDDs (TSQL…)

Quelques règles génériques

Règle Description
Chargement Toujours via les fonctions de la classe Comportement homogène
Couplage Une classe ne doit pas appeler une autre classe métier Utiliser un service
Logique transverse Centralisée dans un service Vérifications croisées

Exemple interdit :

TSQLFamille appelle TSQLPersonne
TSQLPersonne appelle TSQLFamille

⇒ À gérer dans un service

Fonctions normées correspondant au CRUD

READ

Nom de la fonction :

chargeFromBDD$

Signature :

static async chargeFromBDD$(
  filtre: TSQLPersonne = new TSQLPersonne(),
  base?: TBaseLoGeAs
): Promise<TSQLPersonne[]>
Paramètre Type Description
filtre Objet modèle Permet de sélectionner un sous-ensemble
base TBaseLoGeAs Base alternative optionnelle

Exemple :

this.personnes = await TSQLPersonne.chargeFromBDD$();

Utilisation du filtre

const filtre = new TSQLPersonne({
  Codepostal: "31800"
});
 
this.personnes = await TSQLPersonne.chargeFromBDD$(filtre); 

Résultat attendu :

* uniquement les personnes ayant le code postal 31800

CREATE / UPDATE

Nom de la fonction :

sauveToBDD$

Signature :

async sauveToBDD$(base?: TBaseLoGeAs)
Cas Condition Action
Création ID = 0 Insertion en base
Mise à jour ID ≠ 0 Update en base
Préparation Aucune Gérée par la méthode

DELETE

Nom de la fonction :

effaceToBDD$

Signature :

async effaceToBDD$(
  ID: number,
  base?: TBaseLoGeAs
)
Paramètre Type Description
ID number Identifiant de l'objet
base TBaseLoGeAs Base optionnelle

Tableau récapitulatif du CRUD

Opération Méthode Type Description
READ chargeFromBDD$ static async Charge une liste d'objets depuis la base
CREATE sauveToBDD$ async Crée un objet
UPDATE sauveToBDD$ async Met à jour un objet
DELETE effaceToBDD$ async Supprime un objet