La programmation orientée rôles, en tant que forme de programmation informatique, vise à exprimer les choses dans des termes analogues à la compréhension conceptuelle humaine du monde . Cela devrait rendre les programmes plus faciles à comprendre et à maintenir.
L'idée principale de la programmation orientée rôles est que les humains pensent en termes de rôles . Cette affirmation est souvent appuyée par des exemples de relations sociales . Par exemple, un étudiant qui assiste à un cours et le même étudiant qui participe à une fête sont la même personne, mais cette personne joue deux rôles différents. En particulier, les interactions de cette personne avec le monde extérieur dépendent de son rôle actuel. Les rôles partagent généralement des caractéristiques, par exemple les propriétés intrinsèques d'être une personne. Ce partage de propriétés est souvent géré par le mécanisme de délégation .
Dans la littérature ancienne et dans le domaine bases de données , il semble de considération ait été accordée au contexte dans lequel les rôles interagissent les uns avec les autres. Un tel contexte est en train d'être établi dans les nouveaux langages de programmation orientés rôles et aspects tels qu'Object Teams. Comparez l'utilisation de « rôle » comme « un ensemble de programmes logiciels (services) qui permettent à un serveur d'exécuter des fonctions spécifiques pour les utilisateurs ou les ordinateurs du réseau » dans le jargon de Windows Server .
De nombreux chercheurs ont fait valoir les avantages des rôles dans la modélisation et la mise en œuvre. Les rôles permettent aux objets d'évoluer au fil du temps, ils permettent des vues indépendantes et simultanées (interfaces) de l'objet, expliquant les différents contextes de l'objet et séparant les préoccupations . En général, les rôles sont un élément naturel de la formation quotidienne des concepts humains. Les rôles dans les langages de programmation permettent aux objets d'avoir des interfaces évolutives, comme nous le voyons dans la vie réelle : les choses changent au fil du temps, sont utilisées différemment dans différents contextes, etc.
Auteurs de littérature de rôle
- Barbara Pernici
- Bent Bruun Kristensen
- Bruce Wallace
- Charles Bachman
- Friedrich Steimann
- Georg Gottlob
- Kasper B. Graversen
- Kasper Østerbye
- Stephan Herrmann
- Trygve Reenskaug
- Thomas Kühn
Langages de programmation avec support explicite des rôles
- Caméléon
- EpsilonJ
- Délégation JavaScript – Fonctions en tant que rôles (traits et mixins)
- Équipes d'objets
- Perl (élan)
- Raku
- puissanceJava
- Langage SCala ROLes