août
2010
Problématique
Dans un système orienté objet, une classe donnée pourra dépendre des services fournis par d’autres classes.
L’approche normale consiste à implémenter cette dépendance de la manière suivante:
La classe « Client » requiert un service de la classe « Fournisseur de service ».
Cette approche est bonne si seulement on assume que ce type de service est toujours fourni par la même classe.
Mais cette méthode ne convient plus quand plusieurs classes offre le même type de service.
Solution
En Appliquant le design pattern « interface », les services communs offerts par les différentes classes peuvent être isolés et déclarés abstraits en tant qu’interface. Et chacune des classes qui fournissent ce type de service implémente cette interface.
Cela permet à la classe « Client » l’utilisation du service requis avec un minimum d’impact et d’une manière complètement transparente. Et par conséquent, elle n’a pas besoin d’être modifiée quand une nouvelle classe « fournisseur de service » est désignée.
Exemple