Bonjour, ma question porte sur l'interface. Quand et comment puis-je utiliser l'interface dans le code C #? Quelle est l'utilité de l'interface?y'a t-il des exemples, des codes, des applications ou programmes en C# qui utilise l'interface?
Bonjour, ma question porte sur l'interface. Quand et comment puis-je utiliser l'interface dans le code C #? Quelle est l'utilité de l'interface?y'a t-il des exemples, des codes, des applications ou programmes en C# qui utilise l'interface?
Je suppose que tu parles du concept Interface par rapport aux classes
Pleins d'explications ici sur ce forum ainsi que sur le net.
Mais en résumé l'intérêt des Interfaces est de définir un contrat que plusieurs classes peuvent accepter et implémenter et que donc, dans du code,
plutôt que d'attendre un objet d'un certain type, tu vas attendre une interface et donc, faire un peu comme si tu passais une classe qui héritait d'une classe
générique à toi.
L'intérêt des interfaces est qu'une classe peut implémenter plusieurs interfaces / contrats...
Pour les exemples, je te laisse en trouver sur le net mais on peut et le cas est souvent mentionné, regardé du coté des systèmes d'architecture de type plug-in...
où ton application va dynamiquement charger une dll qui contiendrait une plug-in représenté par des classes implémentant les interfaces attendues par ton
système de plug-in.
Il faut savoir qu'en terme de performance, l'usage des interfaces est moins bon que d'utiliser directement des classes.. à voir donc en fonction du contexte
de performance requis par ton application.
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
Un autre avantage, est la diminution du couplage.
Imagine une mécanique de Log où serait offert la possibilité d'écrire sur la console et dans un fichier.
Si tu passe uniquement par des classes tu vas créer un couplage fort entre ta mécanique de log et tes deux classes.
En gros tu auras une méthode Ecrire qui prendra en paramètre un objet lié au log dans la console et une autre méthode qui prendra en paramètre un objet lié au log dans un fichier. Si tu dois rajouter une autre manière de loguer (genre dans le journal d'événement windows), tu devras écrire une troisième méthode.
L'autre option pour éviter d'avoir x méthode est de prendre en paramètre une valeur (genre un enum) qui contiendra la manière dont tu va loguer (mais là tu va avoir des condition de partout).
Maintenant si tu remplace le type objet ou l'enum par une interface, tu définit seulement le contrat et tu n'a pas à te soucier de la manière de loguer, c'est l'appelant qui en aura la maitrise. Tu te contente d'appeler la méthode Ecrire qui sera forcément définie puisque si le contrat n'est pas respecté ça ne compile pas. En plus, tu peux très facilement créer une nouvelle manière de loguer en implémentant l'interface sans être lié aux autre manière de loguer et sans devoir réécrire la mécanique. Ce mode de fonctionnement se nomme "Inversion de contrôle" ou "Inversion de dépendance". C'est très utilisé en POO.
Mes tutoriels
Avant de poster :
- F1
- FAQ
- Tutoriels
- Guide du développeur Delphi devant un problème
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager