đ Objectif
IListe est une interface générique utilisée pour standardiser les opérations sur des listes métier.
Elle est conçue pour ĂȘtre utilisĂ©e en combinaison avec la classe MGListe
dans le composant LambiqueGlobal.
đ Membres obligatoires
p_tabModele
: PropriĂ©tĂ© contenant le tableau dâobjets mĂ©tier.m_pclFiltre
: Membre public reprĂ©sentant les critĂšres de filtrage SQL. Il doit ĂȘtre compatible avec le modĂšle associĂ©.Charger()
: Procédure qui charge les données dansp_tabModele
, en tenant compte dem_pclFiltre
.GetModele(IdentifiantUnique)
: Fonction qui retourne un modĂšle Ă partir de son identifiant unique.SupprimerTout()
: Vide le contenu de la liste.
𧩠Intégration
Toutes les classes métier de type MxxxListe
doivent implémenter IListe
pour pouvoir ĂȘtre utilisĂ©es par MGListe
dans GGlobal
.
đ§ Gestion du filtrage
Le membre m_pclFiltre
, qui doit ĂȘtre public, permet Ă MGListe
de cloner, personnaliser, et injecter dynamiquement un filtre sur une liste.
Le filtre est appliquĂ© au moment de lâappel de Charger()
, via la méthode GetListeAvecFiltre(m_pclFiltre)
de MGListe
.
đïž Emplacement
Lâinterface IListe
est déclarée dans le composant LambiqueGlobal.
â Pourquoi ce choix ?
- Centralisation : Le contrat est défini une seule fois et réutilisé dans tous les modules métier.
- Dépendance propre : Les modules métier dépendent uniquement de
IListe
et non de LambiqueGlobal. - Filtrage uniforme : Le mécanisme est unifié et compatible avec les chargements SQL filtrés dynamiquement.
đĄ Bonnes pratiques
- Ăviter dâajouter des mĂ©thodes spĂ©cifiques Ă un mĂ©tier pour prĂ©server la gĂ©nĂ©ralitĂ© de lâinterface.
- Déclarer
m_pclFiltre
comme un membre public, mĂȘme si le filtre est vide par dĂ©faut. - Utiliser des objets dynamiques pour permettre une compatibilitĂ© maximale entre les types mĂ©tiers utilisĂ©s.