Programmation orientée attributs - Attribute-oriented programming

La programmation orientée attributs ( @OP ) est une technique de marquage au niveau du programme. Les programmeurs peuvent marquer des éléments de programme (par exemple des classes et des méthodes) avec des attributs pour indiquer qu'ils maintiennent une sémantique spécifique à l'application ou au domaine. Par exemple, certains programmeurs peuvent définir un attribut "logging" et l'associer à une méthode pour indiquer que la méthode doit implémenter une fonction de journalisation, tandis que d'autres programmeurs peuvent définir un attribut "web service" et l'associer à une classe pour indiquer que la classe doit être implémenté en tant que service Web. Les attributs séparent la logique principale de l'application (ou logique métier ) de la sémantique spécifique à l'application ou au domaine (par exemple, les fonctions de journalisation et de service Web). En masquant les détails d'implémentation de ces sémantiques dans le code du programme, les attributs augmentent le niveau d'abstraction de la programmation et réduisent la complexité de la programmation, résultant en des programmes plus simples et plus lisibles. Les éléments de programme associés aux attributs sont transformés en programmes plus détaillés par un outil de support (par exemple un préprocesseur ). Par exemple, un préprocesseur peut insérer un programme de journalisation dans les méthodes associées à un attribut "logging".

Programmation orientée attributs dans divers langages

Java

Avec l'inclusion de Metadata Facility for Java (JSR-175) dans la version J2SE 5.0, il est possible d'utiliser la programmation orientée attributs dès la sortie de la boîte. La bibliothèque XDoclet permet d'utiliser une approche de programmation orientée attributs dans les versions antérieures de Java.

C#

Le langage C# a pris en charge les attributs depuis sa toute première version. Cependant, ces attributs sont utilisés pour fournir des informations d'exécution et ne sont pas utilisés par un préprocesseur (il n'y en a pas dans l'implémentation de référence de C#).

UML

Le langage de modélisation unifié (UML) prend en charge une sorte d'attribut appelé stéréotypes .

Pirater

Le langage de programmation Hack prend en charge les attributs. Des attributs peuvent être attachés à diverses entités de programme, et des informations sur ces attributs peuvent être récupérées au moment de l'exécution par réflexion.

Outils

Les références

  • "Programmation Orientée Attributs" . Une introduction à la programmation orientée attributs . Archivé de l'original le 26 mai 2005 . Consulté le 22 juillet 2005 .
  • Wada, Hiroshi ; Suzuki, Junichi (2005). « Modélisation du système frontal de Turnpike : un cadre de développement axé sur les modèles tirant parti de la métamodélisation UML et de la programmation axée sur les attributs » (PDF) . En Proc. de la 8e conférence internationale ACM/IEEE sur les langages et systèmes d'ingénierie pilotés par les modèles (MoDELS/UML 2005). Archivé (PDF) de l'original le 03/03/2016 . Récupéré le 21/03/2006 .
  • Rouvoy, Romain ; Merle, Philippe (2006). « Tirer parti de la programmation orientée composants avec la programmation orientée attributs » (PDF) . En Proc. du 11e Atelier international ECOOP sur la programmation orientée composants (WCOP 2006). Archivé de l'original (PDF) le 23/12/2006.

Liens externes