Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS TUTORIELS F.A.Q DICO SOURCES LIVRES TELECHARGEZ TESTS COMPARATIFS DEBATS SONDAGES
logo

Accueil :
- éditorial
- charte d'utilisation
- aide
- diaporama
- contributeurs
Rechercher :
 
recherche avancée...
Naviguer :
- par tri alphabéthique :
0-* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- par thèmes :
  . Conception
  . Culture
  . Économie
  . Généralités
  . Infographie
  . Internet
  . Langages
  . Projet
  . Sécurité
  . Systèmes
  . Télécom
Contribuer :
- nouvelle définition
- commenter une définition
Partenariat :
- faire un lien
- contact
Statistiques :
- 2968 définitions
- 316 ressources

Le dictionnaire des développeurs

0-* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Conception · Culture · Économie · Généralités · Infographie · Internet · Langages · Projet · Sécurité · Systèmes · Télécom

réflexion
fr  n. f.
La réflexion est l'art de découvrir des types et d'invoquer leurs membres à l'exécution. La réflexion permet d'inspecter dynamiquement le contenu d'assemblages, d'en lire ses types, de créer des instances de ces types durant l'exécution du programme et d'appeler leurs méthodes ou champs dynamiquement. La réflexion est également appelée introspection suivant les auteurs, mais, avec l'arrivée de .NET, le terme réflexion s'est généralisé. On utilise également le terme de liaison tardive (late binding) pour décrire une instanciation à la volée au moment de l'exécution. Il existe d'autres mécanismes s'approchant de la réflexion utilisés avant .NET, comme RTTI (Run-Time Type Identification) en C/C++ ou, dans une certaine mesure, l'interface IDispatch pour les composants COM.

Certaines personnes, dont moi, pensent que la traduction du terme anglais reflection en réflexion est inappropriée. En effet, le terme introspection est nettement plus adapté et correspond mieux à la réalité du mécanisme. Cela dit, la majorité des livres et documents en français, ainsi que le MSDN, utilisent le terme de réflexion.

Tous les assemblages managés comportent des métadonnées qui décrivent le contenu de l'assemblage. En lisant ces métadonnées, un programme peut inspecter les types contenus dans l'assemblage, déterminer ses membres et les invoquer.

Les applications de la réflexion sont nombreuses, et beaucoup d'entres nous s'en servent tous les jours depuis longtemps sans s'en rendre compte. L'exemple le plus flagrant reste les environnements de développement évolués et leurs multiples fenêtres et outils : un explorateur de classes utilise la réflexion. Les membres des classes et les classes elles-mêmes, sont découvertes et ajoutées au fur et à mesure des actions du développeur.

Un autre exemple : la complétion de code. N'est-ce pas magnifique que, lorsque l'on tape un point après un identificateur d'objet en C# dans un environnement de développement comme Visual Studio, la liste de ses membres s'affiche? Dans ce cas aussi, le mécanisme repose sur la réflexion pour découvrir à la volée tous les membres de l'objet concerné.
réflexion
Ressources :
tutoriel .NET : Introduction à la réflexion, tutoriel Introspection en JAVA, présentation de l'API Reflection
Auteur : Olivier Brin (Emerica) - Articles sur .NET et C#
Permalien : http://dico.developpez.c(...)0-Langages-reflexion.php
Date d'ajout : 13/02/2005 Date de dernière mise à jour : 13/02/2005

Envoyer à un ami Imprimer Ajouter aux favoris Dénoncer un abus
Noter cette définition :
logo

Responsable bénévole de la rubrique Accueil : Nicolas Vallée - Contacter par EMail :
Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.