रोल-ओरिएंटेड प्रोग्रामिंग

प्रोग्रामिंग भाषा के एक रूप के रूप में भूमिका-उन्मुख प्रोग्रामिंग का उद्देश्य उन चीजों को व्यक्त करना है जो दुनिया की मानवीय वैचारिक समझ के अनुरूप हैं। इससे कार्यक्रमों को समझना और बनाए रखना आसान हो जाना चाहिए। रोल-ओरिएंटेड प्रोग्रामिंग का मुख्य विचार यह है कि मनुष्य भूमिकाओं के संदर्भ में सोचते हैं। यह दावा अक्सर सामाजिक संबंधों के उदाहरणों द्वारा समर्थित होता है। उदाहरण के लिए, एक कक्षा में भाग लेने वाला एक छात्र और एक पार्टी में एक ही छात्र एक ही व्यक्ति हैं, फिर भी वह व्यक्ति दो अलग-अलग भूमिकाएँ निभाता है। विशेष रूप से, बाहरी दुनिया के साथ इस व्यक्ति की बातचीत उसकी वर्तमान भूमिका पर निर्भर करती है। भूमिकाएँ आम तौर पर सुविधाओं को साझा करती हैं, उदाहरण के लिए, एक व्यक्ति होने के आंतरिक गुण। गुणों का यह साझाकरण अक्सर प्रतिनिधिमंडल_ (प्रोग्रामिंग) तंत्र द्वारा नियंत्रित किया जाता है।

पुराने साहित्य और डेटाबेस के क्षेत्र में ऐसा लगता है कि उस संदर्भ के लिए बहुत कम विचार किया गया है जिसमें भूमिकाएं एक-दूसरे के साथ परस्पर क्रिया करती हैं। इस तरह के संदर्भ को नई भूमिका- और पहलू-उन्मुख प्रोग्रामिंग भाषाओं जैसे ऑब्जेक्ट टीमें में स्थापित किया जा रहा है। सॉफ्टवेयर प्रोग्राम (सेवाओं) के एक सेट के रूप में भूमिका के उपयोग की तुलना करें जो एक सर्वर को विंडोज सर्वर शब्दजाल में नेटवर्क पर उपयोगकर्ताओं या कंप्यूटरों के लिए विशिष्ट कार्य करने में सक्षम बनाता है। अनेक शोधकर्ताओं ने कंप्यूटर मॉडल और कार्यान्वयन में भूमिकाओं के लाभों पर तर्क दिया है। भूमिकाएं वस्तुओं को समय के साथ विकसित करने की अनुमति देती हैं, वे वस्तु के मौजूदा विचारों (इंटरफेस) को स्वतंत्र और समवर्ती (कंप्यूटर विज्ञान) सक्षम करते हैं, वस्तु के विभिन्न संदर्भों की खोज करते हैं, और चिंताओं को अलग करते हैं। आम तौर पर भूमिकाएँ मानव दैनिक अवधारणा-निर्माण का एक स्वाभाविक तत्व हैं। प्रोग्रामिंग भाषाओं में भूमिकाएँ वस्तुओं को बदलते इंटरफेस के लिए सक्षम बनाती हैं, जैसा कि हम वास्तविक जीवन में देखते हैं - समय के साथ चीजें बदलती हैं, अलग-अलग संदर्भों में अलग-अलग उपयोग की जाती हैं, आदि।

भूमिका साहित्य के रचयिता

 * बारबरा पर्निसी
 * बेंट ब्रून क्रिस्टेंसन
 * ब्रूस वालेस
 * चार्ल्स बच्चन
 * फ्रेडरिक स्टीमन
 * जॉर्ज गॉटलॉब
 * कैस्पर बी. ग्रेवर्सन
 * कैस्पर Østerbye
 * स्टीफ़न हेरमैन
 * ट्राईग्वे रेंसकॉग
 * थॉमस कुहन

भूमिकाओं के लिए स्पष्ट समर्थन के साथ प्रोग्रामिंग भाषाएं

 * गिरगिट
 * एप्सिलॉनजे
 * JavaScript#Delegative|JavaScript डेलिगेशन - भूमिकाओं के रूप में कार्य (लक्षण और मिश्रण)
 * ऑब्जेक्ट टीमें
 * मूस (पर्ल)#रोल्स|पर्ल (मूस)
 * राकू (प्रोग्रामिंग भाषा)#भूमिकाएं
 * powerJava
 * SCala रोल्स लैंग्वेज

यह भी देखें

 * पहलू आधारित प्रोग्रामिंग
 * डेटा, संदर्भ और बातचीत
 * ऑब्जेक्ट ओरिएंटेड रोल एनालिसिस मेथड
 * ऑब्जेक्ट-रोल मॉडलिंग
 * विषय (प्रोग्रामिंग)
 * विषय उन्मुख प्रोग्रामिंग
 * लक्षण (कंप्यूटर विज्ञान)

बाहरी संबंध

 * 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