1. Principe de ségrégation d'interface (ISP : Principe de ségrégation d'interface)
Définition : Il est préférable d’utiliser plusieurs interfaces spécialisées plutôt que d’utiliser une seule interface générale. On peut aussi dire : construisez une interface unique, ne construisez pas une interface gonflée.
Deux définitions du FAI :
◇ « Les clients ne devraient pas être obligés de dépendre d'interfaces qu'ils n'utilisent pas »
Un client ne doit pas s’appuyer sur des interfaces dont il n’a pas besoin.
◇ « La dépendance d'une classe à une autre doit dépendre de la plus petite interface possible »
La dépendance d’une classe par rapport à une autre classe doit être basée sur la plus petite interface. (du client)
Interfaces et rôles : Comprendre une interface comme un ensemble de caractéristiques de toutes les méthodes fournies par une classe. Ainsi, la division des interfaces entraîne la division des types. Une interface ne doit donc représenter qu’un seul rôle, plutôt que de servir plusieurs rôles.
Contamination de l'interface : la soi-disant contamination de l'interface ajoute des responsabilités inutiles à l'interface. La pollution de l'interface entraînera des problèmes de maintenance et de réutilisation. Le problème le plus courant est que pour réutiliser l'interface polluée, nous sommes obligés de mettre en œuvre et de maintenir des méthodes inutiles. Par conséquent, nous devons séparer le programme client, et séparer le programme client signifie séparer l'interface.
Comment implémenter des interfaces distinctes :
Il existe généralement deux manières de séparer les interfaces :
1) Utilisez la délégation pour séparer les interfaces. (Séparation par délégation)
Déléguez simplement la demande à la classe d'implémentation d'autres interfaces pour remplir les responsabilités requises, qui sont le modèle d'adaptateur (Adapter).
2) Utilisez l'héritage multiple pour séparer les interfaces. (Séparation par héritage multiple.)
Cette méthode implémente plusieurs interfaces pour assumer les responsabilités requises.
Les deux méthodes ont leurs propres avantages et inconvénients. Habituellement, nous devrions d’abord considérer la dernière option et choisir la première option si une conversion de type est impliquée.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/scelong/archive/2009/12/18/5031030.aspx.
-