Liste
C # offre à la fois List<T>
et IList<T>
pour gérer les collections d'objets. Bien que apparemment similaires, leurs différences ont un impact significatif sur la conception du code.
quand préférer IList<T>
L'utilisation d'interfaces sur les implémentations en béton est cruciale lors de la conception de bibliothèques à usage externe. IList<T>
fournit cette abstraction. La commutation du type de collection sous-jacente (par exemple, de List<T>
à LinkedList<T>
) plus tard ne cassera pas le code externe, tant que le nouveau type implémente IList<T>
.
Considérations internes
Pour le code interne, le choix peut sembler moins critique. List<T>
peut suffire si une exposition externe n'est pas une préoccupation. Cependant, l'adoption IList<T>
initialement est une bonne pratique, sauvegarde contre les changements futurs et l'intégration potentielle de la bibliothèque externe.
Pourquoi éviter d'exposer List<T>
directement
Exposition directement List<T>
crée un couplage serré entre votre classe et ses consommateurs. La modification du type de collection sous-jacente plus tard (pour des raisons de performances, par exemple) nécessiterait la mise à jour de tout le code dépendante. L'utilisation de IList<T>
garde les détails d'implémentation cachés et favorise le couplage lâche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!