meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| certif:procedure:usageclasseinterface [2026/04/24 13:40] – créée nicolas | certif:procedure:usageclasseinterface [2026/04/24 17:04] (Version actuelle) – alexia | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | |{{: | ||
| + | |{{: | ||
| ====== Règles sur les classes ====== | ====== Règles sur les classes ====== | ||
| - | **Version : 04-2023** | + | |**Suivi des modifications majeures** |04/2065 - Nicolas MARCHAND - Création| |
| + | |**Suivi des approbations** |Cartographie fonctionnelle| | ||
| + | |**Objet** |Normaliser les classes servant à mapper dans Angular les objets du back (/ de la BDD)| | ||
| + | |**Destinataires** |**- Validation des modifications : ** Chef de projet\\ | ||
| + | ====== | ||
| - | ===== Nommage des classes de donnée (modèle) ===== | + | ===== Nommage des classes de donnée (modele) ===== |
| - | ==== Classe correspondant à une table des BDDs ==== | + | Classe correspondant à |
| - | ^ Élément | + | ^ Correspondance |
| - | | Préfixe | + | | une table des BDDs | Dans ce cas le nom doit être celui de la classe pascal. Soit TSQL + nom de la table dans la base. Exemples : TSQLPersonne, TSQLFamille |
| - | | Type | Classe représentant une table BDD | TSQLFamille | + | | à une classe |
| - | | Nom du fichier | + | | classes |
| - | | Emplacement | ngx-logeasweb-ui\src\lib\models\BDD\NomBDD\ | — | | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | ==== Classe | + | |
| - | + | ||
| - | ^ Règle ^ Description ^ Exemple ^ | + | |
| - | | Préfixe | Lettre **T** suivie | + | |
| - | | Extension | Utiliser l’héritage plutôt qu’une copie | extends TSQLPersonne | | + | |
| - | | Propriété calculée | Ajouter | + | |
| - | | Usage unique | Utiliser une interface | Interface locale | | + | |
| - | + | ||
| - | Exemple : | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | class TPersonnePlus extends TSQLPersonne { | + | |
| - | | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | Exemple | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | getNomComplet() { | + | |
| - | | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | ==== Classes | + | |
| - | + | ||
| - | ^ Type ^ Règle ^ Exemple ^ | + | |
| - | | Nature | Interface uniquement | + | |
| - | | Nommage | Nom de la table + Grid | IPersonneGrid | + | |
| - | | Utilisation | Type mis à plat pour une grille | DataGrid | | + | |
| - | + | ||
| - | --- | + | |
| ===== Les classes issues des BDDs (TSQL…) ===== | ===== Les classes issues des BDDs (TSQL…) ===== | ||
| Ligne 53: | Ligne 21: | ||
| ==== Quelques règles génériques ==== | ==== Quelques règles génériques ==== | ||
| - | ^ Règle ^ Description ^ | + | * On ne charge |
| - | | Chargement | Toujours via les fonctions de la classe | + | |
| - | | Couplage | Une classe | + | * Vu les problématiques à respecter |
| - | | Logique transverse | Centralisée dans un service | Vérifications croisées | | + | |
| - | + | ||
| - | Exemple | + | |
| - | + | ||
| - | < | + | |
| - | TSQLFamille appelle TSQLPersonne | + | |
| - | TSQLPersonne appelle TSQLFamille | + | |
| - | </code> | + | |
| - | + | ||
| - | ⇒ À gérer | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | ===== Fonctions normées correspondant au CRUD ===== | + | |
| - | + | ||
| - | ==== READ ==== | + | |
| - | + | ||
| - | Nom de la fonction : | + | |
| - | + | ||
| - | < | + | |
| - | chargeFromBDD$ | + | |
| - | </ | + | |
| - | + | ||
| - | Signature : | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | static async chargeFromBDD$( | + | |
| - | filtre: TSQLPersonne = new TSQLPersonne(), | + | |
| - | base?: TBaseLoGeAs | + | |
| - | ): Promise< | + | |
| - | </ | + | |
| - | + | ||
| - | ^ Paramètre ^ Type ^ Description ^ | + | |
| - | | filtre | Objet modèle | Permet de sélectionner un sous-ensemble | | + | |
| - | | base | TBaseLoGeAs | Base alternative optionnelle | | + | |
| - | + | ||
| - | Exemple : | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | this.personnes = await TSQLPersonne.chargeFromBDD$(); | + | |
| - | </ | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | ==== Utilisation du filtre ==== | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | const filtre = new TSQLPersonne({ | + | |
| - | | + | |
| - | }); | + | |
| - | + | ||
| - | this.personnes = await TSQLPersonne.chargeFromBDD$(filtre); | + | |
| - | + | ||
| - | Résultat attendu : | + | |
| - | + | ||
| - | * uniquement | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | ==== CREATE / UPDATE ==== | + | |
| - | + | ||
| - | Nom de la fonction : | + | |
| - | + | ||
| - | < | + | |
| - | sauveToBDD$ | + | |
| - | </ | + | |
| - | + | ||
| - | Signature : | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | async sauveToBDD$(base?: | + | |
| - | </ | + | |
| - | + | ||
| - | ^ 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 : | + | |
| - | + | ||
| - | <code typescript> | + | |
| - | async effaceToBDD$( | + | |
| - | ID: number, | + | |
| - | base?: TBaseLoGeAs | + | |
| - | ) | + | |
| - | </ | + | |
| - | + | ||
| - | ^ Paramètre ^ Type ^ Description ^ | + | |
| - | | ID | number | Identifiant de l' | + | |
| - | | base | TBaseLoGeAs | Base optionnelle | | + | |
| - | --- | + | ==== Les fonctions « normées » correspondant au CRUD ==== |
| + | ^ Opération ^ Fonction ^ Description ^ | ||
| + | | READ | '' | ||
| + | | CREATE / UPDATE | '' | ||
| + | | DELETE | '' | ||
| - | ===== Tableau récapitulatif du CRUD ===== | + | ==== Les fonctions « normées » à usage interne de la classe (" |
| + | ^Nom de la fonction^Usage^ | ||
| + | |protected override corrigeDataFromBDD()|Appelé sur chaque enregistrement lors du chargement depuis le back, via la procédure | ||
| + | |protected override async prepareDataToBDD()|Appelé par la fonction sauveToBDD$ elle permet de mettre les format angular au format attendu par le back| | ||
| - | ^ Opération | + | ==== Les fonctions « normées » à usage public ==== |
| - | | READ | chargeFromBDD$ | static async | Charge une liste d' | + | ^Nom de la fonction^Usage^ |
| - | | CREATE | sauveToBDD$ | async | Crée un objet | | + | |override toGrid(): |
| - | | UPDATE | sauveToBDD$ | async | Met à jour un objet | | + | |static toGrids(liste: |
| - | | DELETE | effaceToBDD$ | async | Supprime un objet | | + | |
| + | ==== Les fonctions spécifique à la classe ==== | ||
| + | Dépends de chaque classe voir la classe | ||