Улога-оријентисано програмирањеје облик компјутерског програмирања у циљу изражавања ствари у терминима који су аналогни људском концептуалном разумевању света. Ово би требало да олакша разумевање и одржавање програма

Основна идеја улога-оријентисаног програмирања је да људи размишљају о улогама. Ова тврдња је често подржана примерима друштвених односа. На пример, студент похађа класу и исти студент је на журци иста особа, али он игра две различите улоге. Конкретно, интеракције ове особе са спољним светом зависи од његове тренутне улоге. Улоге обично деле функције, нпр унутрашња својства особа. Овом поделом имовине често управља делегација механизма. У старијој литератури и у области база података, чини се да је било мало разматрање за контекст у коме улоге узајамно делују једне са другима. Такав контекст се успоставља у новим улога- и аспект-оријентисаним програмским језицима као што су Објект тимови. Многи истраживачи тврде да су предности улога у моделовању и имплементацији. Улоге омогућавају предметима да се развијају током времена, они омогућавају независне и истовремено постојеће ставове (прикључци), објекта, објашњавају различите контексте објекта, и раздвајање забринутости. Генерално улоге су природни елементи нашег свакодневног концепт формирања. Улоге у програмским језицима омогућавају да објекти мењају интерфејсе, како га видимо у стварном животу - како се ствари мењају током времена, различито користе у различитим контекстима, итд

Аутори улога књижевности Barbara Pernici Bent Bruun Kristensen dblp: Bent Bruun Kristensen Bruce Wallace Чарлс Бакман Friedrich Steimann Georg Gottlob Kasper B. Graversen Kasper Østerbye Stephan Herrmann Trygve Reenskaug

Програмски језици са експлицитном подршком за улоге Chameleon EpsilonJ JavaScript Delegation - Functions as Roles (Traits and Mixins) Object Teams Perl 5 (Moose) Perl 6 powerJava

Референце

Додатна литература

Спољашње везе 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

Категорија:Објектно-базирани програмски језици Категорија:Програмске парадигме