Meta Object Protocol

Meta Object Protocol

Protocole à méta-objets

Un protocole à méta-objets est une technique en informatique qui consiste à faire de l'interprète d'un programme un objet de première classe, au même titre que ceux qui composent le programme. Il est ainsi possible de le réécrire afin de changer l'interprétation du programme. Cette technique est répandue notamment dans les interprètes des langages à objets, bien qu'elle ne soit pas spécifique à ce paradigme de programmation. Il faut également bien comprendre que même si cet article parle d'interprète, les protocoles à méta-objets ne sont pas spécifiques aux langages de programmation interprétés ou exécutés par une machine virtuelle.

Pour détailler la notion de protocole à méta-objets, prenons l'exemple d'un appel de méthode. Lorsqu'un programmeur écrit par exemple l'expression entier.ajouter(3, 7), il demande implicitement à l'interprète de l'objet entier d'interpréter la méthode ajouter de cet objet avec les paramètres 3 et 7. Appelons entier.interprète l'objet qui encapsule l'interprète de l'objet entier. Écrire entier.ajouter(3, 7) revient à écrire l'appel entier.interprète.appeler("ajouter", (3, 7)), la transformation (la réification de l'appel) étant réalisée automatiquement. C'est là que réside toute l'idée des protocoles à méta-objets: le programmeur a alors la possibilité d'utiliser n'importe quel objet pour l'attribut interprète et ainsi définir sa propre sémantique à l'appel de méthode (dans l'exemple). L'objet interprète est habituellement appelé méta-objet, c'est-à-dire objet qui traite des objets.

Un méta-objet étant un objet comme les autres, il a lui-même un méta-objet associé qui l'interprète, ayant lui-même un méta-objet, et ainsi de suite. Pour éviter que le processus de réification des appels de méthode ne soit infini, un mécanisme est généralement prévu pour permettre aux objets d'exister sans méta-objet associé. Un interprète auto-suffisant par défaut est alors utilisé pour terminer la récursivité.

Un protocole à méta-objets, c'est une spécification de la manière dont objets et méta-objets interagissent. Il précise en particulier la ou les interfaces que les méta-objets doivent satisfaire, et par là même les instructions de l'interprète qui peuvent être redéfinies. Dans l'exemple des langages à objets, sont inclus la plupart du temps l'instanciation et l'appel de méthode, qui sont les deux instructions majeures (sinon les deux seules) du paradigme de la programmation orientée objet.

Langages de programmation possédant un protocole à méta-objets

Bibliographie

  • Gregor Kiczales (1991). The art of the metaobject protocol, ISBN 0-262-61074-4
Ce document provient de « Protocole %C3%A0 m%C3%A9ta-objets ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Meta Object Protocol de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Object Relational Bridge — Apache ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases. OJB has been designed for a large range of applications, from embedded systems to rich… …   Wikipedia

  • Common Lisp Object System — For other uses, see Clos (disambiguation). The Common Lisp Object System (CLOS) is the facility for object oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP… …   Wikipedia

  • Simple Object Access Protocol — SOAP im TCP/IP‑Protokollstapel: Anwendung SOAP HTTP HTTPS … Transport TCP Internet IP (IPv4 …   Deutsch Wikipedia

  • Simple object access protocol — SOAP im TCP/IP‑Protokollstapel: Anwendung SOAP HTTP HTTPS … Transport TCP Internet IP (IPv4 …   Deutsch Wikipedia

  • Service Oriented Access Protocol — SOAP im TCP/IP‑Protokollstapel: Anwendung SOAP HTTP HTTPS … Transport TCP Internet IP (IPv4 …   Deutsch Wikipedia

  • Lightweight Directory Access Protocol — (LDAP) est à l origine un protocole permettant l interrogation et la modification des services d annuaire. Ce protocole repose sur TCP/IP. Il a cependant évolué pour représenter une norme pour les systèmes d annuaires, incluant un modèle de… …   Wikipédia en Français

  • Lightweight directory access protocol — (LDAP) est à l origine un protocole permettant l interrogation et la modification des services d annuaire. Ce protocole repose sur TCP/IP. Il a cependant évolué pour représenter une norme pour les systèmes d annuaires, incluant un modèle de… …   Wikipédia en Français

  • OAI Protocol for Metadata Harvesting — Die Open Archives Initiative (OAI) ist eine Initiative von Betreibern von Preprint Servern und anderen Dokumentenservern, um die auf diesen Servern abgelegten elektronischen Publikationen im Internet besser auffindbar und nutzbar zu machen. Dazu… …   Deutsch Wikipedia

  • Open Archives Initiative Protocol for Metadata Harvesting — OAI PMH (Open Archives Initiative Protocol for Metadata Harvesting) is a protocol developed by the Open Archives Initiative. It is used to harvest (or collect) the metadata descriptions of the records in an archive so that services can be built… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”