Szereporientált programozás

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.[1]

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 Archiválva 2012. október 13-i dátummal a Wayback Machine-ben
  • Bent Bruun Kristensen Archiválva 2012. február 4-i dátummal a Wayback Machine-ben[2]
  • Bruce Wallace
  • Charles Bachman[3]
  • Friedrich Steimann
  • Georg Gottlob Archiválva 2012. október 6-i dátummal a Wayback Machine-ben
  • Kasper B. Graversen
  • Kasper Østerbye
  • Stephan Herrmann Archiválva 2012. április 28-i dátummal a Wayback Machine-ben
  • Trygve Reenskaug[4]
  • 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

  1. Microsoft Windows Server Administration Essentials, Sybex Serious Skills. Indianapolis: John Wiley & Sons, 9. o.. ISBN 9781118148693 „[...] a server role is a set of software programs (services) that enable a server to perform specific functions for users or computers on the network.” 
  2. Archivált másolat. [2009. január 11-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. június 17.)
  3. Archived copy. [2013. január 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. január 3.)
  4. Archivált másolat. [2012. október 2-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. június 17.)

Fordítás

  • Ez a szócikk részben vagy egészben a Role-oriented programming című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

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