IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

utilisation et utilité de l'interface dans C#


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2015
    Messages : 107
    Points : 23
    Points
    23
    Par défaut utilisation et utilité de l'interface dans C#
    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?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    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)

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    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.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/04/2016, 14h16
  2. utiliser les interfaces dans un vector
    Par isoman dans le forum Général Java
    Réponses: 3
    Dernier message: 28/11/2009, 15h37
  3. Utilisation des interfaces dans des méthodes
    Par kyrilkarlier dans le forum Windows Forms
    Réponses: 7
    Dernier message: 26/05/2009, 14h29
  4. L’utilité des interfaces dans l’orienté objet
    Par bilred dans le forum Langage
    Réponses: 4
    Dernier message: 09/03/2009, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo