Object-oriented user interface
कम्प्यूटिंग में, एक ऑब्जेक्ट-ओरिएंटेड यूजर इंटरफेस (ओ. ओ. यू. आई.) एक प्रकार का यूजर इंटरफेस है जो एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग रूपक पर आधारित है, और मैक. ओ. एस. और विंडोज जैसे अधिकांश आधुनिक ऑपरेटिंग सिस्टम ("ऑब्जेक्ट-ओरिएंटेड ऑपरेटिंग सिस्टम") का वर्णन करता है। एक ओ. ओ. यू. आई. में, उपयोगकर्ता उन वस्तुओं के साथ स्पष्ट रूप से बातचीत करता है जो उस डोमेन में संस्थाओं का प्रतिनिधित्व करते हैं जिससे अनुप्रयोग संबंधित है। उदाहरण के लिए, कई वेक्टर ड्राइंग अनुप्रयोगों में एक ओ. ओ. यू. आई. होता है-वस्तुएँ रेखाएँ, वृत्त और कैनवस होती हैं। उपयोगकर्ता स्पष्ट रूप से किसी वस्तु का चयन कर सकता है, उसके गुणों (जैसे आकार या रंग) को बदल सकता है, या उस पर अन्य कार्यों का आह्वान कर सकता है (जैसे कि इसे स्थानांतरित करना, प्रतिलिपि बनाना या फिर से संरेखित करना)। यदि किसी व्यावसायिक अनुप्रयोग के पास कोई ओ. ओ. यू. आई. है, तो उपयोगकर्ता व्यवसाय क्षेत्र में संस्थाओं का प्रतिनिधित्व करने वाली वस्तुओं जैसे ग्राहकों, उत्पादों या आदेशों का चयन कर सकता है और/या उन पर कार्रवाई का आह्वान कर सकता है। जैकब नील्सन फंक्शन-ओरिएंटेड इंटरफेस के विपरीत ओ. ओ. यू. आई. को परिभाषित करते हैंः "ऑब्जेक्ट-ओरिएंटेड इंटरफेस को कभी-कभी फंक्शन-ओरिएंटेड इंटरफेस की तुलना में एप्लीकेशन को अंदर-बाहर घुमाने के रूप में वर्णित किया जाता है। इंटरैक्शन का मुख्य फोकस उपयोगकर्ताओं के डेटा और अन्य सूचना ऑब्जेक्ट बनने के लिए बदल जाता है जिन्हें आम तौर पर स्क्रीन पर आइकन के रूप में या खिड़कियों में ग्राफिक रूप से दर्शाया जाता है। डेव कॉलिन्स एक ओ. ओ. यू. आई. को तीन विशेषताओं को प्रदर्शित करने के रूप में परिभाषित करता हैः उपयोगकर्ता वस्तुओं को समझते हैं और उन पर कार्य करते हैं उपयोगकर्ता वस्तुओं को उनके व्यवहार के आधार पर वर्गीकृत कर सकते हैं इस संदर्भ में कि उपयोगकर्ता क्या करने की कोशिश कर रहे हैं, सभी उपयोगकर्ता इंटरफेस वस्तुएं एक सुसंगत समग्र प्रतिनिधित्व में एक साथ फिट होती हैं। जेफ रास्किन सुझाव देते हैं कि एक ओ. ओ. यू. आई. की सबसे महत्वपूर्ण विशेषता यह है कि यह एक 'क्रिया-संज्ञा' शैली की बातचीत के बजाय एक 'संज्ञा-क्रिया' को अपनाता है, और उपयोगिता के मामले में इसके कई फायदे हैं। अन्य यूजर इंटरफेस विचारों के साथ संबंध ओ. ओ. यू. आई. अवधारणा और यूजर इंटरफेस डिजाइन में अन्य महत्वपूर्ण विचारों के बीच बहुत अधिक संभावित तालमेल है जिसमें शामिल हैंः ग्राफिकल यूजर इंटरफेस (जी. यू. आई.)। उपयोगकर्ता इंटरफेस की कई भविष्यवादी कल्पनाएँ ओ. ओ. यू. आई. और विशेष रूप से ओ. ओ. जी. यू. आई. अवधारणाओं पर बहुत अधिक निर्भर करती हैं। हालाँकि उपयोगकर्ता इंटरफेस के कई उदाहरण हैं जो उन अन्य विचारों में से एक या अधिक को लागू करते हैं, लेकिन जो वास्तव में ओ. ओ. यू. आई. नहीं हैं-हालाँकि उन्हें अक्सर गलत तरीके से ओ. ओ. यू. आई. के रूप में लेबल किया जाता है। इसके विपरीत, ऐसे ओ. ओ. यू. आई. के उदाहरण हैं जो न तो चित्रमय हैं, न ही प्रत्यक्ष हेरफेर तकनीकों का उपयोग करते हैं, न ही मजबूत रूपकों का उपयोग करते हैं। उदाहरण के लिए, स्मॉलटॉक प्रोग्रामिंग भाषा के शुरुआती संस्करणों में एक कमांड लाइन इंटरफेस था जो फिर भी स्पष्ट रूप से एक ओओयूआई था, हालांकि बाद में यह जीयूआई, प्रत्यक्ष हेरफेर और दृश्य रूपकों के विकास में अपनी अग्रणी भूमिका के लिए बेहतर जाना जाने लगा। हालाँकि ओ. ओ. यू. आई. और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के बीच कई वैचारिक समानताएँ हैं, लेकिन इसका मतलब यह नहीं है कि एक ओ. ओ. यू. आई. को ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा का उपयोग करके लागू किया जाना चाहिए। आईबीएम के कॉमन यूजर एक्सेस (सीयूए) के लिए दिशानिर्देश, (संभवतः ओओयूआई डिजाइन के लिए एक मानक को परिभाषित करने का सबसे व्यापक प्रयास) में कहा गया है कि 'जबकि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग एक ऑब्जेक्ट-ओरिएंटेड यूजर इंटरफेस के विकास की सुविधा प्रदान कर सकती है, यह एक पूर्व-आवश्यकता नहीं है। एक वस्तु-उन्मुख उपयोगकर्ता इंटरफेस को अधिक पारंपरिक प्रोग्रामिंग भाषाओं और उपकरणों के साथ विकसित किया जा सकता है। हालांकि, मजबूत तालमेल हैं। लैरी टेस्लर, जिन्होंने 1980 में ज़ेरॉक्स पी. ए. आर. सी. को एप्पल में शामिल होने के लिए छोड़ दिया, ने इस संबंध को रेखांकित कियाः डोमेन ऑब्जेक्ट मॉडलिंग के साथ संबंध एक ओ. ओ. यू. आई. की अवधारणा और डोमेन ऑब्जेक्ट से सॉफ्टवेयर बनाने के विचार के बीच एक स्पष्ट तालमेल भी है। हालांकि, यह इस बात का पालन नहीं करता है कि एक उपयोगकर्ता एक ओ. ओ. यू. आई. के भीतर जिन वस्तुओं को देखता है और बातचीत करता है, उन्हें उस डोमेन वस्तुओं के अनुरूप होना चाहिए जिस पर अनुप्रयोग बनाया गया है। सी. यू. ए. दिशानिर्देशों में कहा गया है कि 'एक ऑब्जेक्ट-ओरिएंटेड यूजर इंटरफेस में, जिन वस्तुओं के साथ एक उपयोगकर्ता काम करता है, वे आवश्यक रूप से कोड की वस्तुओं या मॉड्यूल के अनुरूप नहीं होते हैं, जिनका उपयोग एक प्रोग्रामर उत्पाद बनाने के लिए करता है।' सी. यू. ए. में वर्णित बुनियादी डिजाइन विधियों को ओ. वी. आई. डी. विधि में और परिष्कृत किया गया था जिसमें इंटरफेस को मॉडल करने के लिए यू. एम. एल. का उपयोग किया गया था। मार्क वैन हार्मलेन का कहना है कि 'ऑब्जेक्ट-ओरिएंटेड यूजर इंटरफेस डिजाइन के लिए डिजाइनरों को परियोजना की शुरुआत से ही समस्या का ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण लेने की आवश्यकता नहीं होती है। इसके अलावा, भले ही डिजाइनर पूरे समय एक ऑब्जेक्ट-ओरिएंटेड परिप्रेक्ष्य लेते हैं, उन्हें ऑब्जेक्ट मॉडल और ऑब्जेक्ट-ओरिएंटेड यूजर इंटरफेस डिजाइन पर अलग से ध्यान केंद्रित करने से लाभ होगा। इसके विपरीत, नग्न वस्तुओं का पैटर्न अनुप्रयोगों के डिजाइन के लिए एक दृष्टिकोण है, जो कम से कम अपने सरल रूप में, ओ. ओ. यू. आई. में प्रदर्शित वस्तुओं और अंतर्निहित डोमेन वस्तुओं के बीच एक सीधे पत्राचार को लागू करता है, जो बाद वाले से पूर्व को स्वचालित रूप से उत्पन्न करता है। संदर्भ उपयोगकर्ता इंटरफेस