Interface IListe

Documentation IListe

🌟 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 dans p_tabModele, en tenant compte de m_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.