Principes S.O.L.I.D - Interface segregation principle (ISP)
1. Problème initial
On retrouve dans la plupart des designs quelques classes qui rendent plusieurs services simultanément, comme l'illustre le schéma ci-dessous avec l’interface Service :L'inconvénient de ce genre de cas est que tous les clients, les classes, ont une visibilité sur tous les services rendus par l’interface :
- Chaque client voit une interface trop riche dont une partie ne l'intéresse pas,
- Chaque client peut être impacté par des changements d'une interface qu'il n'utilise pas.
2. Solution associée
Il existe deux techniques principales de mise en pratique de l'ISP :- L'héritage multiple,
- Le Design Pattern "Adapter".