Je comprends ce que tu veux dire.
Par contre, il existe différentes façons d'utiliser les classes de politiques :
- On peut en hériter pour proposer l'interface de la politique à l'utilisateur directement (assez courant).
- On peut la composer pourquoi pas (jamais vu).
- On peut, sans utiliser les techniques ci-dessus, l'utiliser via une instanciation ou des méthodes statiques.
Pour ma part, si tu regardes bien, j'utilise la troisième solution, avec même une autre particularité : ce n'est pas ma classe qui est paramétrable, mais la fonction Charger().
Donc pour le coup ce que tu dis là :

Envoyé par
koala01
Tu peux disposer d'un nombre inconnu de politiques (tu en as donné quatre, mais on pourrait en donner d'autres, pour du texte brut, des fichiers binaires dont les spécifications devraient être fournies, pour une récupération sur le réseau, pour les curseurs sur résultat de requete SQL...

)
MAIS pour chaque instance de ta classe, ne peut y avoir
qu'une et une seule politique utilisée (tu ne peux pas commencer par utiliser la politique XML pour passer "à ton bon gré" à une politique "Table" ou à une politique "CSV"

)
est faux dans mon cas, puisque pour une instance de ma classe, je peux très bien commencer par utiliser une politique de chargement via un fichier txt, puis rajouter des données tirées d'un xml, le Gestionnaire saura les charger sans soucis sans faire de distinction entre les différents objets.
Donc, dans mon cas, la composition, moyen...
Partager