A szereporientált programozásnak, mint a számítógépes programozás egyik formájának, célja a dolgok olyan értelemben való kifejezése, amely hasonlít az emberi világ fogalmainak a megértéséhez. Ez megkönnyítené a programok megértését és karbantartását/fenntartását.
A szereporientált programozás kiinduló gondolata az emberek szerepközpontú gondolkodása. Ezt az állítást gyakran a társadalmi kapcsolatok példái is alátámasztják. Mint például egy hallgató, aki egy órán vesz részt majd azután elmegy bulizni az ugyanaz a személy, csak éppen két különböző szerepben. Tehát ennek a személynek a jelenlegi szerepe függ a külvilággal való interakciójától. A szerepek hajlamosak közös jellemzőkkel bírni, mint például közös belső emberi tulajdonságok. Ezeket a közös tulajdonságokat gyakran a delegálási mechanizmus kezeli.
A korábbi irodalomban és az adatbázisok területén úgy tűnik, hogy kevés figyelmet fordítottak arra a környezetre, amelyben a szerepek kölcsönhatásba lépnek egymással. Ilyen környezet jön létre az újabb szerep- és aspektusorientált programozási nyelvekben, mint például az Object Teamsben. Hasonlítsuk össze a "szerep" használatát olyan szoftverek halmazaként, amelyek lehetővé teszik a szervernek, hogy meghatározott funkciókat hajtson végre a hálózaton lévő felhasználók vagy számítógépek számára.
Sok kutató vitatta a szerepek előnyeit a modellezésben és a megvalósításban. A szerepek lehetővé teszik az objektumok fejlődését az idő múlásával, lehetővé tesznek független és egyidejűleg létező interfészeket, felfedve az objektum különböző kontextusait. A szerepek sokszor a napi szinten előforduló emberi gondolatformálás természetes elemei. A programozási nyelvekben betöltött szerepek lehetővé teszik, hogy az objektumok változó interfészekkel rendelkezzenek, amint azt a valós életben is láthatjuk - a dolgok idővel változnak és különböző kontextusokban vannak felhasználva.
Szerzők 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
Programozási nyelvek explicit támogatással a szerepekhez Chameleon EpsilonJ JavaScript Delegation - Functions as Roles (Traits and Mixins) Object Teams Perl (Moose) Raku powerJava SCala ROLes Language
Források
Fordítás
További információk Adaptive Plug-and-Play Components for Evolutionary Software Development, by Mira Mezini and Karl Lieberherr Context Aspect Sensitive Services Overview and taxonomy of Role languages ROPE: Role Oriented Programming Environment for Multiagent Systems
Kategória:Programozási nyelvek Kategória:Programozási paradigmák