Programmation par aspects

Ajouter à la bibliothèque

H3170 V1 Article de référence

Programmation par aspects

Auteur(s) : Lionel SEINTURIER

Date de publication : 10 juillet 2016 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter un extrait gratuit

Déjà abonné ?

Présentation

RÉSUMÉ

La programmation par aspects (en anglais « aspect-oriented programming ») est un style de développement logiciel qui est apparu dans la seconde moitié des années 1990. Elle complète les styles existants, objet, procédural et fonctionnel, avec un support pour la programmation de fonctionnalités dites transverses. Elle permet d'améliorer la modularité des programmes informatiques. Cet article présente la genèse de la programmation par aspects, les concepts qui la composent et la façon dont ils sont mis en œuvre dans deux approches majeures du domaine : le langage de programmation AspectJ et le cadriciel Spring AOP.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l'article

AUTEUR(S)

  • Lionel SEINTURIER : Professeur des universités - Université de Lille, Villeneuve d’Ascq, France

 INTRODUCTION

La programmation par aspects ( aspect-oriented programming ) est un style de développement logiciel qui est apparu dans la seconde moitié des années 1990. Elle se situe dans une lignée de styles de programmation qui ont été proposés, au fil de l’évolution de l’informatique, pour améliorer la structuration des programmes. L’idée sous-jacente est que, plus un langage informatique permet de structurer les programmes, plus la conception de ces programmes, leur écriture, leur compréhension, leur maintenance et leur évolution en seront facilitées. Parmi les prédécesseurs du style de programmation par aspects, nous pouvons citer la programmation fonctionnelle, la programmation procédurale, la programmation modulaire, la programmation objet et la programmation réflexive. Chacun de ces styles a apporté des concepts qui permettent de rendre la structure d’un programme plus claire et lisible. De même, la programmation par aspects capitalise sur l’expérience acquise avec ces styles de programmation et permet de faire progresser la structuration des programmes informatiques. La programmation par aspects ne remet pas en cause les styles de programmation l’ayant précédée. Au contraire, les langages de programmation par aspects continuent de s’appuyer sur les styles existants, notamment et surtout la programmation objet. Elle les complète en améliorant leur capacité à écrire des programmes plus modulaires et mieux structurés.

La programmation par aspects est née du constat que, dans de nombreux programmes informatiques, l’écriture de certaines fonctionnalités s’articule mal avec le reste du programme et conduit à du code qui est peu lisible, mal structuré et difficile à maintenir. Ces fonctionnalités sont alors dites transverses au reste du programme. La programmation par aspects s’appuie sur ce constat et propose la notion d’aspect qui est un nouvel élément de structuration des programmes informatiques qui permet d’écrire les fonctionnalités transverses de façon plus claire et mieux structurée, rendant ainsi le programme plus facilement maintenable.

Face au constat de l’absence de concepts pour la prise en compte des fonctionnalités transverses, la programmation par aspects aborde la problématique de savoir quels sont les bons artefacts de programmation qui permettent de retranscrire les fonctionnalités transverses et surtout comment ceux-ci peuvent être intégrés avec le reste du programme. Pour cela, la programmation par aspects définit le concept d’aspect comme étant constitué d’un ensemble de coupes et de greffons. Les coupes définissent le caractère transverse de l’aspect et permettent l’intégration de l’aspect avec le reste du programme, tandis que les greffons définissent le comportement de l’aspect.

Dans...

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Cet article est réservé aux abonnés Consulter un extrait gratuit

Déjà abonné ?


MOTS-CLÉS

Informatique   |   Programmation   |   langages informatiques   |   développement logiciel   |   cadriciel   |   aspect

DOI (DIGITAL OBJECT IDENTIFIER)

https://doi.org/10.51257/a-v1-h3170

Lecture en cours
Programmation par aspects

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Linux embarqué

Linux est un système d'exploitation multitâche de la famille UNIX. Développé initialement sur processeur ...

Rust (langage de programmation)

Le langage de programmation Rust permet l’écriture de logiciels de haute performance, par une conception ...

Compilateur

Un compilateur est un logiciel permettant de transformer un programme source (écrit dans un langage de pr...

Langage UML : développement de logiciel et modélisation visuelle

Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes log...

Tous les livres blancs
Article Vers un nouveau record des cyberattaques ?
25 septembre 2019
Vers un nouveau record des cyberattaques ?

Année après année, c’est toujours le même constat : peu ou mal protégées, les entreprises et les administrations sont de plus en plus nombreuses à être victimes...

Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous