इंटरफ़ेस - इस तरह के सरल शब्द क्या हैं

इंटरफ़ेस - इसे क्या चाहिए, इंटरफेस के प्रकार

4 जनवरी, 2021।

हैलो, प्रिय ब्लॉग पाठकों ktonanovenkogo.ru। मास कंप्यूटर के युग में, नवीनतम रुझानों को बनाए रखना और लगातार ज्ञान में अंतर को भरना महत्वपूर्ण है।

यह महत्वपूर्ण है कि इंटरफ़ेस लक्ष्यों और संदर्भ से मेल खाता हो। यदि यह कंप्यूटर के साथ एक विशेषज्ञ की बातचीत है, तो मुख्य बात जानकारी प्रदान करने और कार्यों को पूरा करने की क्षमता है। एक सामान्य उपयोगकर्ता के लिए, यह न केवल तकनीकी है, बल्कि सौंदर्य मूल्य भी है: इसके साथ काम आरामदायक और समझ में होना चाहिए।

आप दुर्घटना की आवश्यकता में नहीं आना चाहते हैं? आज हम पीसी से जुड़े एक और शब्द पर विचार करते हैं।

मैं एक इंटरफ़ेस के रूप में ऐसी चीज को समझाने की कोशिश करूंगा: क्या है और क्यों आवश्यक है। तो, चलो शुरू करते हैं।

इंटरफ़ेस है ...

सभी नए फैशन वाक्यांशों की तरह, "इंटरफ़ेस" शब्द अंग्रेजी भाषा से हमारे पास आया था। अनुवादित इंटरफ़ेस इंगित करता है " संपर्क का स्थान "

इंटरफ़ेस टूल का एक सेट है जो उपयोगकर्ता को कंप्यूटर के ऑपरेटिंग सिस्टम, मोबाइल डिवाइस या अन्य प्रकार के उपकरणों के साथ बातचीत करने की अनुमति देता है।

इंटरफ़ेस है ...

ऐसे उपकरण के रूप में इंटरैक्शन अधिनियम कर सकते हैं:

  1. पाठ फ़ील्ड;
  2. बटन और टिक;
  3. ड्रॉप-डाउन सूचियां;
  4. पॉप-अप टिप्स;
  5. स्विच;
  6. कार्यक्रम या साइट के मेनू के तत्व;
  7. और भी बहुत कुछ।

बेहतर होने के लिए यह इंटरफ़ेस किस प्रकार का फल है, एक दृश्य उदाहरण पर विचार करें। मान लीजिए कि आप दूरदराज के किनारों में छुट्टियों पर जाने का फैसला करते हैं और इंटरनेट के माध्यम से पहले से ही एक होटल बुक करते हैं।

साइट पर आते हैं, और वहां आप कई इंटरफेस की उम्मीद करते हैं: खोज, प्रदर्शन परिणाम, व्यक्तिगत डेटा दर्ज करना, भुगतान। होटल आरक्षण साइट के साथ बातचीत के प्रत्येक चरण के दौरान, उपयोगकर्ता डेटा के साथ काम करता है और कुछ कार्य करता है।

मुझे एक इंटरफ़ेस की आवश्यकता क्यों है? सबकुछ सरल है, पहले से कहीं अधिक: कार्यक्रम, साइट और अन्य उत्पाद, खुश उपयोगकर्ताओं का उपयोग करने के लिए अधिक सुविधाजनक।

दोस्ताना इंटरफ़ेस आपको वाणिज्यिक साइटों पर बिक्री बढ़ाने की अनुमति देता है, क्योंकि आगंतुक साइट का उपयोग करने के पहले सेकंड के दौरान टैब को बंद नहीं करते हैं।

अच्छे डिजाइन वाली साइटें उपयोगकर्ताओं के बीच अधिक लोकप्रिय हैं, अधिक देखी गई हैं, और इसलिए, अपने मालिकों को सर्वोत्तम आय लाएं।

इंटरफेस के प्रकार

इंटरफ़ेस निम्न प्रकारों पर विभाजित करने के लिए परंपरागत है:

  1. कमांड लाइन । यह उपयोगकर्ता और व्यक्तिगत कंप्यूटर के बीच बातचीत करने के लिए सबसे पुराना और सबसे अधिक समय लेने वाला तरीका है। साथ ही, कमांड लाइन सबसे विश्वसनीय प्रकार का इंटरफ़ेस बनी हुई है।
    उपयोगकर्ताओं के लिए, इंटरफ़ेस एक पीसी या टेलीफोन के साथ काम करने का आधार है। इस प्रणाली को कितनी सरल या जटिल से, डिवाइस को नियंत्रित करने की सुविधा इस पर निर्भर करेगी। डेवलपर्स जटिल कार्यों के लिए सिस्टम संरचनाओं को बदल सकते हैं। अनुभवहीन उपयोगकर्ता, अपने काम को सुविधाजनक बनाने के लिए एक स्पष्ट इंटरफ़ेस वाले डिवाइस खरीदने के लिए बेहतर है।

    मशीन के साथ संचार अपनी भाषा में होता है। कमांड लाइन का उपयोग ऑपरेटिंग सिस्टम में पेशेवर उपयोगकर्ताओं के लिए किया जाता है: उदाहरण के लिए, बायोस में।

  2. ग्राफिक इंटरफ़ेस । यह वही है जो आज "इंटरफ़ेस" शब्द के तहत है। यह सभी ऑपरेटिंग सिस्टम, प्रोग्राम, वेब पेजों में लागू होता है।
    स्मार्टफोन

    एक ग्राफिकल इंटरफ़ेस के साथ, बिल्कुल सभी पीसी उपयोगकर्ताओं का सामना करना पड़ता है। अधिक सुविधाजनक बातचीत के लिए, कंप्यूटर माउस का उपयोग करने की अनुशंसा की जाती है।

  3. हस्ताक्षर इंटरफ़ेस । प्रौद्योगिकियों का तेजी से विकास एक इशारा इंटरफ़ेस की उपस्थिति के कारणों में से एक बन गया है। इसमें संवेदी स्क्रीन, जॉयस्टिक, स्टाइलस और अन्य तत्व शामिल हैं।
  4. वॉयस इंटरफ़ेस । वाक्यांश "ठीक, Google" बोलते हुए और बाद में खोज क्वेरी का उच्चारण करें, आप स्मार्टफोन या टैबलेट ऑपरेटिंग सिस्टम के वॉयस इंटरफ़ेस के साथ बातचीत करते हैं।
    कमांड लाइन इंटरफेस

    यह प्रकार हाल ही में प्रौद्योगिकियों के तेज़ी से विकास के लिए धन्यवाद दिखाई दिया।

    लेकिन आज यह काफी लोकप्रियता का आनंद लेता है, क्योंकि यह आपको कई महत्वपूर्ण कार्यों को हल करने और डिवाइस (यह क्या है?) प्रबंधित करने की अनुमति देता है - मोबाइल डिवाइस, कार, घरेलू उपकरण, कंप्यूटर - वॉयस कमांड के साथ।

इंटरफ़ेस क्या होना चाहिए

किसी भी इंटरफ़ेस का मुख्य कार्य - आसानी से उपयोग करें विशिष्ट कार्यक्रम, साइट या इसी तरह के उत्पाद।

उदाहरण के लिए, जब एक वेब पोर्टल विकसित करने की सिफारिश की जाती है निम्नलिखित तत्वों पर ध्यान केंद्रित करें :

  1. प्रदर्शित तत्वों की इष्टतम संख्या;
  2. डेस्कटॉप और मोबाइल उपकरणों के लिए अनुकूलन;
  3. लोकप्रिय सामाजिक नेटवर्क के बटनों की उपस्थिति;
  4. इष्टतम आकार आइकन और बटन;
  5. पंजीकरण का सुविधाजनक रूप;
  6. मेनू आइटम का सहज ज्ञान युक्त स्थान;
  7. रंग या सूचना उच्चारण की उपस्थिति;
  8. साइट पर खोज प्रणाली;
  9. यदि आवश्यक हो, संपर्क डेटा की उपलब्धता।

एक अच्छी तरह से विचार-विमर्श इंटरफ़ेस का एक उज्ज्वल उदाहरण ktonanovenkogo.ru है। साइट पर, एक अच्छा रंग समाधान, एक अंतर्ज्ञानी मेनू, आंतरिक खोज की उपस्थिति, प्रकाशन की तारीख से लेख प्रदर्शित करें, जो संसाधन का उपयोग तेज़ और आनंददायक बनाता है।

यह सब, प्रिय दोस्तों। अब आप जानते हैं कि इंटरफ़ेस है, बस बोलते हुए, प्रोग्राम या साइट्स का बाहरी खोल, जो उन्हें उपयोग करना आसान बनाता है।

मुझे उम्मीद है कि लेख पढ़ने के बाद, अब आपके पास कोई प्रश्न नहीं होगा। किसी भी मामले में, आपको अन्य ब्लॉग पाठकों Ktonanovenkogo.ru के साथ इस विषय पर कम करने के लिए टिप्पणियों के लिए आमंत्रित करने की अनुमति दें।

और ज्ञान को मजबूत करने के लिए, मैं सुझाव देता हूं कि सैमसंग से एंड्रॉइड के लिए नए इंटरफ़ेस के बारे में एक वीडियो देखें:

आप सौभाग्यशाली हों! Ktonanovenkogo.ru के पृष्ठों पर तेजी से बैठकें देख रहे हैं

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

वेब इंटरफेस के साथ यह लगभग था। शून्य की शुरुआत में, एक स्किनिफिज्म था - ग्राफिक्स ने वास्तविक दुनिया की वस्तुओं का अनुकरण किया। यदि साइट बटन थी, तो यह एक असली वॉल्यूमेट्रिक बटन की तरह लग रहा था। यह उन लोगों के लिए समझ में आया है जिन्होंने अपना पहला कंप्यूटर खरीदा था।

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

अब, विस्तृत "मेनू" आइकन के बजाय, तथाकथित बर्गर आमतौर पर हस्ताक्षर के साथ उपयोग किया जाता है - तीन क्षैतिज स्ट्रिप्स। और हम पूरी तरह से जानते हैं कि उनका क्या मतलब है। हम यह भी जानते हैं कि साइटें आमतौर पर ऊपर से नीचे तक पढ़ती हैं। और समझाने के लिए किसी भी तीर की जरूरत नहीं है। आधुनिक इंटरफेस अनुभवी उपयोगकर्ताओं और अधिक संक्षिप्त के लिए डिज़ाइन किए गए हैं।

कार्यक्रमों

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

सॉफ्टवेयर के विकास में सबसे महत्वपूर्ण अवधारणा - अवधारणा

इंटरफेस

। यह आलेख जावा इंटरफेस के बारे में नहीं है, बल्कि सॉफ़्टवेयर डिज़ाइन में इंटरफेस के बारे में है। और कुछ हद तक - आसपास की दुनिया में इंटरफेस पर। बेशक, सॉफ्टवेयर के विकास में कई अन्य महत्वपूर्ण अवधारणाओं का उपयोग किया जाता है, लेकिन मेरा मानना ​​है कि उनमें से अधिकतर इंटरफ़ेस के महत्व के आधार पर किसी भी तरह से हैं।

इंटरफ़ेस क्या है?

हम में से अधिकांश दो संक्षिप्त फॉर्मूलेशन से परिचित हैं:

इंटरफ़ेस सिस्टम और बाहरी वातावरण के बीच एक अनुबंध है। इंटरफ़ेस बाहरी वातावरण के साथ एक जोड़ी प्रणाली है।

इंटरफ़ेस = सिस्टम ∩ परिवेश

जोड़ी के साथ परिभाषा उपयुक्त है, अगर सिस्टम एक भौतिक वस्तु है। दोनों परिभाषाएं बहुत ही अमूर्त हैं, इसलिए आइए उन्हें कीबोर्ड पर प्रिंटिंग उदाहरण पर विचार करें:

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

शायद, आप आश्चर्यचकित होंगे कि यह उदाहरण अनुबंध के रूप में इंटरफ़ेस की परिभाषा के साथ कैसे सहसंबंधित करता है। इस मामले में, समझौते का मतलब एक समझौता है कि उस समय जब हमने चाबियों के स्थान को याद किया और मांसपेशी स्मृति को फिर से काम किया तो हमने पर्याप्त प्रयास किया। संधि से कई बारीकियां जुड़ी हैं। उदाहरण के लिए, कुंजी को दबाने और पकड़ना एक साधारण एक बार प्रेस की तुलना में एक अलग मूल्य है।

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

:

add_numbers। 

अहस्ताक्षरित int, हस्ताक्षरित int); शून्य अन्य_फंक्शन (शून्य) {add_numbers (3.4);} हस्ताक्षरित int add_numbers (हस्ताक्षरित int in, intigned int b) {रिटर्न ए + बी;} int मुख्य (शून्य) {add_numbers (9.99); वापसी 0;}

एक ही रंग भेदभाव तकनीक लागू करें

पैंट

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

पर्यावरण, प्रणाली का वर्णन करने के लिए

और इंटरफ़ेस:

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

यहां विचाराधीन प्रणाली में एक समारोह होता है

। यदि आप कहते हैं कि आप एक अलग सिस्टम मुख्य विधि के रूप में विचार कर सकते हैं -

अन्य_फंक्शन।

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

- फिर आप सही होंगे। लेकिन सादगी के लिए, हम एक समारोह पर विचार करते हैं

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

.

अलग निकाय। यह भी सलाह दी जाती है कि रूपांतरण इंटरफ़ेस के हिस्से पर विचार करें

जैसा कि आप देख सकते हैं, चौथी अवधारणा यहां जोड़ा गया है: "कार्यान्वयन"। विशिष्ट कार्यान्वयन को ध्यान में रखे बिना इंटरफेस के विषय पर चर्चा करना बहुत मुश्किल है। आइए इस शब्द को परिभाषित करें: कार्यान्वयन एक ऋण इंटरफ़ेस सिस्टम है। कार्यान्वयन = सिस्टम ∖ इंटरफ़ेस

कार्यान्वयन = सिस्टम ∖ (सिस्टम ∩ पर्यावरण)

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

बदले में, हमें अगले तार्किक निष्कर्ष पर ले जाता है: जब हम भौतिक प्रणाली के इंटरफेस के बारे में बात करते हैं, तो हम आमतौर पर इस प्रणाली के "कार्यान्वयन" को एक भौतिक वस्तु के रूप में कल्पना करते हैं। आखिरकार, ध्यान में बटन, डिस्प्ले या अन्य घटकों को ध्यान में रखे बिना "वास्तविक" कार्यान्वयन पर विचार करना अजीब होगा। और यह हमें "समझौते" के रूप में अधिक इंटरफेस पर विचार करने के लिए प्रेरित करता है, न कि भौतिक वस्तुओं का संयोजन। यही है, वादे के एक सेट के रूप में, गारंटी या कुछ ...

.

सिस्टम और पर्यावरण के बीच अनुबंध

अनुबंध के रूप में इंटरफ़ेस

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

यदि आप फ़ंक्शन इंटरफ़ेस पर विचार करते हैं

  • अनुबंध के रूप में, गारंटी इस तरह की होगी: ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें समारोह
  • ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें मौजूद। इसमें केवल दो पैरामीटर हैं, जिनमें से प्रत्येक हस्ताक्षरित है .
  • ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें int। इसमें केवल दो पैरामीटर हैं, जिनमें से प्रत्येक हस्ताक्षरित है .

केवल एक हस्ताक्षरित लौटाता है

  • इस फ़ंक्शन का इंटरफ़ेस हमें कुछ भी नहीं बताता है: ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें ;
  • निष्पादन में रुकावट पर ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें ;
  • रैंकटाइम की असीमित जटिलता के बारे में ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें ;
  • शुरू करने के लिए आवश्यक मुफ्त मेमोरी की संख्या पर इसमें केवल दो पैरामीटर हैं, जिनमें से प्रत्येक हस्ताक्षरित है ;
  • हस्ताक्षरित के विशिष्ट कार्यान्वयन के बारे में

साइड इफेक्ट्स (मेमोरी आवंटन, वैश्विक चर को संशोधित करना)।

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

ऊपर वर्णित इंटरफ़ेस

फ़ंक्शन के प्रकार के तहत जाना जाता है

प्रोटोटाइप।

। के एंड आर सी के पिछले संस्करणों में, इंटरफेस के विवरण के एक कमजोर रूप का उपयोग किया गया था:

हस्ताक्षरित int add_numbers ();

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

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

पेटेंट, कॉपीराइट और इंटरफेस

मैं आपको कानून के क्षेत्र में सलाह नहीं दूंगा। शायद मुझसे कुछ ने कहा कि कानूनों का खंडन भी होगा। सभी निम्नलिखित लेखक की निजी राय है।

इसलिए, मैं इच्छुक हूं

वस्तुतः

दो संस्थाओं के बीच "वाणिज्यिक अनुबंध" के रूप में इंटरफ़ेस पर विचार करें। मैं जोर देता हूं - मैं इसे एक रूपक नहीं मानता। मैं विशेष रूप से कंप्यूटिंग मशीनों और कॉपीराइट प्रदर्शनकारियों के सिद्धांत में विशेषज्ञों द्वारा इस व्याख्या को संबोधित करता हूं।

क्या इंटरफ़ेस पेटेंट चाहिए? सिस्टम और पर्यावरण के बीच अनुबंध के रूप में अपनी परिभाषा को देखते हुए, मेरा मानना ​​है कि पेटेंट का उपयोग एक गलती होगी। और, जाहिर है, मौजूदा मामले कानून मेरी स्थिति का समर्थन करता है। लेकिन ध्यान रखें कि शब्द "इंटरफ़ेस" का उपयोग बहुत व्यापक रूप से किया जाता है, और अक्सर इस अर्थ में, जैसा कि मैंने ऊपर वर्णित किया है।

क्या मुझे कॉपीराइट द्वारा इंटरफ़ेस की रक्षा करनी चाहिए? फिर, "संविदात्मक" प्रकृति को देखते हुए, मेरा मानना ​​है कि इंटरफ़ेस का "स्रोत कोड" कॉपीराइट का उद्देश्य होना चाहिए। साथ ही, कॉपीराइट इंटरफेस के पहलुओं पर लागू नहीं किया जाना चाहिए जो उन्हें विशेष बनाते हैं। यह स्रोत कोड या हस्तलिखित छवि की रक्षा के लिए पर्याप्त है, लेकिन वारंटी या सीमाएं नहीं। यदि वारंटी या इंटरफ़ेस प्रतिबंध अपने कोड के किसी भी हिस्से से अविभाज्य हो जाते हैं, तो इन भागों को सुरक्षा के अधिकार से वंचित किया जाना चाहिए।

मैं एक साधारण परीक्षण का प्रस्ताव करता हूं जो आपको सराहना करने की अनुमति देता है कि कॉपीराइट के साथ सुरक्षा के लिए आवश्यक है या नहीं।

यदि आप किसी तीसरे पक्ष के किसी भी घटक सहित किसी प्रकार के गुण सेट की रक्षा करना चाहते हैं, किसी भी तरह से इंटरफ़ेस द्वारा उपयोग किए जाने वाले किसी भी तरह से, आप हमेशा एक उपयुक्त प्रतिस्थापन बना सकते हैं। प्रतिस्थापन एक ही इंटरफ़ेस को लागू करता है और इस सॉफ़्टवेयर के किसी भी संशोधन के साथ-साथ किसी भी कॉपीराइट के उल्लंघन के बिना किसी तीसरे पक्ष से सॉफ़्टवेयर में सफलतापूर्वक उपयोग किया जाता है। यदि कोई प्रतिस्थापन कॉपीराइट उल्लंघन का कारण बनता है, या किसी तीसरे पक्ष से सॉफ़्टवेयर को संशोधित करेगा, या कार्यक्षमता को खराब करता है, तो विशेषता सेट बहुत आक्रामक है और इसे कम किया जाना चाहिए।

मेरा मानना ​​है कि इस परीक्षण की मदद से, पेटेंटबिलिटी पर भी जांच करने की सलाह दी जाती है। कृपया ध्यान दें: परीक्षण का उद्देश्य अत्यंत निर्धारित करना है

अयोग्यता

संरक्षण कॉपीराइट या पेटेंट। वह उसे संबोधित करने में मदद नहीं करेगा

का पालन करें

सुरक्षा बारी। इसके अलावा, यह परीक्षण केवल मेरी राय है, न कि नियामक अधिनियम या कानून।

मैं यह भी ध्यान रखना चाहता हूं कि एक ही भाषा में इंटरफ़ेस के हिस्से के रूप में माना गया कोई भी मानदंड किसी अन्य भाषा में नहीं हो सकता है। उदाहरण के लिए, जावा में, कार्यों को घोषित करने की प्रक्रिया कार्यक्रम के निष्पादन को प्रभावित नहीं करती है। और यदि आप गलती से कहते हैं कि फ़ाइल में कार्यों का क्रम मायने नहीं रखता है, तो यह पायथन पर कार्यक्रम के संबंध में एक त्रुटि होगी: 

डीईएफ फू (): प्रिंट ("एएसडीएफ") डीईएफ फू (एबीसी): प्रिंट (एबीसी) फू ("लोल")

कानूनों के बारे में इन सभी बातचीत ने मुझे याद दिलाया

Google के खिलाफ ओरेकल

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

मुझे लगता है कि कई लोग चिंतित हैं कि एक उदाहरण बनाया जाएगा, जिससे इंटरफ़ेस के तत्व पेटेंट या कॉपीराइट की रक्षा कर सकते हैं। बस वह मामला जिसमें मेरा परीक्षण पास नहीं किया जाएगा। जिला अदालत ने एक निर्णय लिया: "एपीआई की संरचना, अनुक्रम और वास्तुकला को कॉपीराइट द्वारा संरक्षित किया जा सकता है।" मुझे नहीं लगता कि यह एक समस्या है, क्योंकि इसकी परिभाषा में "संरचना, अनुक्रम और वास्तुकला" पूरी तरह से मेरे परीक्षण से गुज़र जाएगी। मैं उपरोक्त लिंक पर लेख से कुछ अंश दूंगा:

"जिला अदालत ने निष्कर्ष निकाला कि" लेखन का केवल एक तरीका है "जावा के साथ बातचीत के लिए विज्ञापन। यदि ऐसा है, तो उसी विज्ञापनों का उपयोग कॉपीराइट के अधीन नहीं है। Google इस तथ्य पर विवाद नहीं करता है कि वे तीन के अपवाद के साथ जावा तक पहुंचने के लिए अपने स्वयं के एपीआई लिख सकते हैं। " अंत में, "Google ने मान्यता दी कि उन्होंने शाब्दिक रूप से विज्ञापनों की प्रतिलिपि बनाई।"

मुझे लगता है कि अदालत ने सही निर्णय स्वीकार किया, यह निष्कर्ष निकाला कि इंटरफ़ेस के अद्वितीय गुणों को संरक्षित नहीं किया जाना चाहिए। इसके अलावा, Google ने "शाब्दिक" प्रतिलिपि मान्यता दी। यदि इसका मतलब है कि टिप्पणियों में सभी अंतराल और वर्तनी त्रुटियों सहित कॉपिपास्टिंग, तो मैं इसे अधिकारों का उल्लंघन मानता हूं। यहां तक ​​कि यदि इंटरफ़ेस को संरक्षित नहीं किया जा सकता है, तो इसे व्यक्तिगत रचनात्मक अभिव्यक्ति की सुरक्षा में हस्तक्षेप नहीं करना चाहिए।

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

"मॉड्यूल", या "अमूर्तता" क्या है?

मेरे सिर में "मॉड्यूल" शब्द के साथ पोस्ट की एक पूंजी तस्वीर है। यह चित्रण अच्छी तरह से मॉड्यूल की सीमाओं और पर्यावरण के साथ इसकी बातचीत के महत्व को दर्शाता है। क्यूब इंटरफ़ेस घन की सामग्री के साथ बाहरी वातावरण की बातचीत को मुश्किल से सीमित करता है। आप इंटरफ़ेस को बाईपास करने में सक्षम नहीं होंगे, इसलिए आपको "गेम के नियम" को लागू करना होगा। अंत में, घन के अंदर कुछ भी नहीं है, लेकिन इससे कोई फर्क नहीं पड़ता: यह महत्वपूर्ण है कि इसकी सामग्री नहीं, बल्कि एक इंटरफ़ेस है।

एक और उदाहरण: सेल झिल्ली की संरचना। विभिन्न घटक झिल्ली के माध्यम से केवल आवश्यक पदार्थ प्रदान करते हैं और केवल तभी जब आवश्यक हो।

इस आलेख के संदर्भ में, मैं समानार्थी के रूप में "मॉड्यूल" और "अमूर्तता" शर्तों का उपयोग करूंगा। बेशक, व्याख्यात्मक शब्दकोश मेरे साथ सहमत नहीं होगा, और यहां तक ​​कि विभिन्न प्रोग्रामिंग भाषाओं में भी, इन शर्तों का एक अलग अर्थ है। लेकिन इस मामले में, मुझे केवल इस तथ्य में दिलचस्पी है कि इन दोनों इकाइयों को सिस्टम के रूप में देखा जा सकता है क्योंकि इसे इस आलेख में समझा जाता है। यही है, अमूर्तता और मॉड्यूल में एक इंटरफ़ेस और कार्यान्वयन शामिल हो सकता है।

आप जावा में पाइथन, कक्षा या पैकेज में सी, "मॉड्यूल" में मॉड्यूल का एक अलग फ़ंक्शन पढ़ सकते हैं। कुछ, अगर केवल एक बाहरी इंटरफ़ेस और "छुपा" कार्यान्वयन था। इसके अलावा, भाषा के नियमों या एक प्रोग्रामर के निर्णय के परिणाम भी हो सकते हैं।

सुखाने अमूर्तता

जहाँ तक मुझे पता है, विचार

डम्पी एबस्ट्रेक्शन ने जोएल स्पोलस्की को आगे रखा

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

क्रमबद्ध डेटा ब्रूट फोर्स यादृच्छिक डेटा की तुलना में पूरी तरह से अलग परिणाम दे सकता है। मान लीजिए आपको सूची में न्यूनतम मूल्य खोजने की आवश्यकता है: 

न्यूनतम = शून्य; सूची = map.getmapkeys (); के लिए (सूची में आइटम) {if (min == null) {min = item} और अगर (आइटम <min) {min = min; / * इस लाइन में एक बग * /}} है

डाली

और अगर।

यदि डेटा आरोही क्रमबद्ध है तो इसे कभी भी निष्पादित नहीं किया जाएगा। यहां तक ​​कि यदि आप सूची के यादृच्छिक स्थान से जांच शुरू करते हैं, तो कार्यक्रम कभी भी इस स्ट्रिंग के साथ टकराएगा। और यह एक बड़ी समस्या है, क्योंकि यदि आप कार्ड के कार्यान्वयन को बदलते हैं और यह क्रमबद्ध कुंजी वापस नहीं करेगा, तो आपका कोड अचानक एक बग बग पर किया जाएगा। और जब तक आप इस कोड और इसके अंदर छिपा हुआ बम के बारे में पूरी तरह से भूल जाएंगे।

मैं अमूर्तता रिसाव की अपनी परिभाषा की पेशकश करना चाहता हूं।

अमूर्त रिसाव (सार रिसाव) को स्थिति कहा जाता है जब कार्यान्वयन पर्यावरण को प्रभावित कर सकता है क्योंकि इसे इंटरफ़ेस द्वारा प्रदान नहीं किया गया था।

इस परिभाषा के अनुसार,

लगभग हर

अमूर्तता - सांस लेना। आखिरकार, सभी प्रकार के पर्यावरणीय प्रभाव के इंटरफ़ेस में विवरण केवल सबसे कड़े गणितीय प्रणालियों में समझ में आता है। और भौतिक प्रणालियों के लिए, तो आपको याद किया जा सकता है

.

अधूरापन के बारे में प्रमेय गोडेल

अधिकांश अमूर्तता के छेद का विचार अनुचित नहीं है। इसका मतलब योएल स्पोल्स्की अपने "लीकी सार तत्वों के कानून" में था:

"सभी गैर-तुच्छ अमूर्तता एक निश्चित सीमा तक एक छिद्रपूर्ण हैं।"

एक बार सभी अमूर्तता झुकाव कर रहे हैं, किस बारे में बात करनी है? समस्याएं केवल तब उत्पन्न होती हैं जब पर्यावरण का एक हिस्सा सिस्टम के संपर्क के अप्रत्याशित तरीकों में से एक पर भरोसा करना शुरू कर देता है। यह ऐसे लीक के बारे में है जो हर कोई कहता है।

यह न केवल सामान्य बग के दृष्टिकोण से, बल्कि सुरक्षा के क्षेत्र में भी दूरगामी परिणामों की ओर जाता है। भौतिक प्रणालियों के साथ जिसमें बाहरी पर्यावरण में रिसाव होते हैं, सुरक्षा समझौता करते हैं, शब्द "

साइड चैनल अटैक

" एक बयान के साथ संयोजन में जो छेद के सभी अवशोषण, यह हमें निष्कर्ष पर ले जाता है:

क्रिप्टोसिस्टम के प्रत्येक शारीरिक कार्यान्वयन तीसरे पक्ष के हमलों के लिए कमजोर है।

उपर्युक्त सभी को देखते हुए, यह विचार न केवल भौतिक, बल्कि नकली कार्यान्वयन पर भी बढ़ाया जा सकता है।

मूल्यांकन और इंटरफेस की तुलना

जैसा कि हम पहले से ही ऊपर देख चुके हैं, सी पर इंटरफेस में सेट हैं जैसे कि रिटर्न वैल्यू के प्रकार और पैरामीटर की संख्या जिसे प्रसारित किया जा सकता है। पायथन के बारे में क्या? मैं लेख के संदर्भ के अनुसार "इंटरफ़ेस" शब्द का उपयोग करता हूं, यानी, पाइथन में "इंटरफेस" के बारे में पुस्तकों में लिखने की तुलना में व्यापक अर्थ में। 

Def add_numbers (ए, बी): एक + बीप्रिंट वापस करें (add_numbers (3,1)) प्रिंट (add_numbers ("abc", "def"))

इस भाषा में, हमें फ़ंक्शन इंटरफ़ेस के प्रकार को औपचारिक बनाने की आवश्यकता है। यह परिभाषा और कॉल फ़ंक्शन को सरल बनाता है, क्योंकि कम जानकारी को संसाधित करना आवश्यक है। दूसरी तरफ, प्रतिबंध जिन पर आप त्रुटियों की खोज के लिए चेक को कम कर सकते हैं।

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

मुझे लगता है कि सूचना संचरण विधियों के दृष्टिकोण से इंटरफ़ेस की विभिन्न विशेषताओं की आकलन और तुलना के बारे में आपको कुछ कहना चाहिए। आप इस भाषा में लागू किए जा सकने वाले सभी इंटरफ़ेस और सभी इंटरफेस का एक सेट दोनों का मूल्यांकन कर सकते हैं। आइए हमारे उदाहरण को याद रखें

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

प्रतिलाभ की मात्रा

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

और ऐसी कई चीजें हैं जो संवाद कर सकती हैं

वाया पायथन इंटरफ़ेस। पाइथन इंटरफ़ेस के माध्यम से सूचना संचरण
इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण
संभावित राज्यों की संख्या जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर 1 (अहस्ताक्षरित int) फाइल सिस्टम
(वैश्विक चर की संख्या) * (वैश्विक चर राज्यों की संख्या) जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर पैरामीटर 2 का प्रकार। प्रोसेसर का उपयोग समय
राज्य प्रणाली की स्थिति की संख्या जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर लौटाए गए मूल्य का प्रकार कुची राज्य।
सीमित नहीं जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर 2 ^ (हस्ताक्षरित int में गिनती) बहुत कुछ ...
राज्यों की संख्या जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर पैरामीटर मान 2। वैश्विक वैश्विक राज्य
... जानकारी का स्थानांतरण पायथन इंटरफ़ेस को छोड़कर

व्यावहारिक रूप से अनंत

और अब इंटरफ़ेस प्रकारों की संख्या पर एक नज़र डालें जो हम हैस्केल में वर्णन कर सकते हैं: 

Add_numbers :: int> int -> intadd_numbers 3 4 = 7main = प्रिंट (add_numbers 3 4)

ये सभी उत्सुक दार्शनिक तर्क हैं, लेकिन वे लेखन सॉफ्टवेयर से कैसे संबंधित हैं? खैर, आइए इस तथ्य से शुरू करें कि प्रोग्रामिंग में इंटरफेस आपको सभी तरफ से घेरते हैं, भले ही आप उस पर ध्यान न दें। उदाहरण के लिए, यदि आप जावा पर प्रोग्रामिंग कर रहे हैं, तो स्पष्ट रूप से अपने उद्देश्य के आधार पर इंटरफेस का नाम दें। और अन्य भाषाओं में, वे भी मौजूद हैं। आइए एक इंटरफ़ेस फ़ंक्शन का एक उदाहरण मानें

इस कोड को देखते हुए, इंटरफ़ेस

निम्नलिखित जानकारी प्राप्त कर सकते हैं: हास्केल इंटरफ़ेस के माध्यम से जानकारी स्थानांतरित करना
इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण
संभावित राज्यों की संख्या हास्केल इंटरफ़ेस के माध्यम से जानकारी का संचरण लौटाए गए मूल्य का प्रकार प्रोसेसर का उपयोग समय
(वैश्विक चर की संख्या) * (वैश्विक चर राज्यों की संख्या) हास्केल इंटरफ़ेस के माध्यम से जानकारी का संचरण 1 (int) प्रोसेसर का उपयोग समय
राज्य प्रणाली की स्थिति की संख्या हास्केल इंटरफ़ेस के माध्यम से जानकारी का संचरण प्रोसेसर / मेमोरी कैश पर प्रभाव बहुत कुछ ...
सीमित नहीं अन्य ...
राज्यों की संख्या 1 (मान 3)
... 1 (मान 4)

कम से कम 2 ^ 30 [1]

  • आपकी चुनी हुई भाषा में एक विशिष्ट इंटरफ़ेस के लिए, आप जानकारी स्थानांतरित करने के अनूठे तरीकों की संख्या का मूल्यांकन भी कर सकते हैं:
  • इंटरफ़ेस के माध्यम से;

अमूर्तता लीक के माध्यम से इंटरफ़ेस के आसपास जाकर।

  • आप निम्नलिखित पर भी ध्यान दे सकते हैं:
  • इंटरफ़ेस के माध्यम से प्रसारित न्यूनतम और अधिकतम जानकारी के दृष्टिकोण से आप इस भाषा के भीतर कितने प्रतिबंधों का उपयोग कर सकते हैं;

इंटरफ़ेस बाईपास में बातचीत को रोकने के लिए इस भाषा को क्या उपकरण प्रदान करते हैं।

कार्यक्रमों
आइए ग्राफिकल यूजर इंटरफेस इस तरह से विश्लेषण करें जिसमें फ़ोल्डर को बदलना संभव है: जीयूआई के माध्यम से सूचना का संचरण
इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण
जीयूआई को छोड़कर सूचना का हस्तांतरण फ़ोल्डर 1 पर क्लिक करें फ़ोल्डर 1 * क्लिक की संख्या द्वारा आयोजित स्क्रीन पर पिक्सेल की संख्या प्रोसेसर का उपयोग समय
छिपी संभावना यूआई फ़ोल्डर 2 पर क्लिक करें फ़ोल्डर 2 * क्लिक की संख्या द्वारा आयोजित स्क्रीन पर पिक्सेल की संख्या गैर मानक त्वरित कॉल संयोजन
स्क्रीन पर पिक्सल की संख्या बटन 2 पर कब्जा कर लिया फ़ोल्डर 1 के लिए मार्गदर्शन कर्सर फ़ोल्डर 1 द्वारा आयोजित स्क्रीन पर पिक्सेल की संख्या बहुत कुछ ...
अन्य अप्रत्याशित यूआई क्षमताओं फ़ोल्डर 2 के लिए मार्गदर्शन कर्सर
फ़ोल्डर 2 द्वारा आयोजित स्क्रीन पर पिक्सेल की संख्या मार्गदर्शन और क्लिक के बीच का समय
असीम मानक कीबोर्ड घटनाक्रम
मानक कुंजी संयोजनों की संख्या जीयूआई द्वारा कब्जे वाले स्क्रीन क्षेत्र

GUI को प्रदर्शित करने के लिए उपयोग किए जाने वाले पिक्सल की संख्या

और अब कमांड लाइन का उपयोग करके फ़ोल्डर को बदलने का एक ही कार्य पर विचार करें

:

आइए ग्राफिकल यूजर इंटरफेस इस तरह से विश्लेषण करें जिसमें फ़ोल्डर को बदलना संभव है: जीयूआई के माध्यम से सूचना का संचरण
इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण इंटरफ़ेस के आसपास जाकर विशेषताओं का विवरण
सीडी प्रोसेसर का उपयोग समय फ़ोल्डर नामों की संख्या जो आप डायल कर सकते हैं प्रोसेसर का उपयोग समय

परिवर्तनीय वातावरण

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

यदि आप शारीरिक विकलांगता वाले उपयोगकर्ताओं में त्रुटियों के हिस्से में परिवर्तन का मूल्यांकन करते हैं तो विश्लेषण को और जटिल बनाना संभव है।

  • इसलिए, हमने इंटरफेस का आकलन और तुलना करने के संभावित तरीकों में से एक माना। उपर्युक्त उदाहरणों और उनके अनुभव के आधार पर, मुझे कई extrapolating बनाने दें:
  • लोग इंटरफेस पसंद करते हैं जो जानकारी प्राप्त करते समय बहुत सख्त नहीं होते हैं, खासकर यदि इंटरफ़ेस अपरिचित है।
  • बहुत सख्त इंटरफेस को अक्सर गलत तरीके से उपयोग नहीं किया जाता है।
  • बड़ी मात्रा में जानकारी की मेजबानी करने वाले व्यापक इंटरफेस शक्तिशाली दिखते हैं, लेकिन अक्सर गलत तरीके से उपयोग किए जाते हैं।
  • यदि बातचीत थकाऊ हो जाती है, तो लोग इंटरफ़ेस बाईपास को जानकारी स्थानांतरित करने का प्रयास करते हैं।

इंटरैक्टिंग करते समय, इंटरफ़ेस को छोड़कर, अमूर्त रिसाव के माध्यम से, अप्रिय आश्चर्य का उदय बेहद संभावना है।

सुखाने और सीमित इंटरफेस

मैं पिछले खंड से विश्लेषण के आधार पर कई अवलोकनों का वर्णन करूंगा। लेकिन पहले मैं कुछ परिभाषा दूंगा:

लीकी इंटरफ़ेस (लीकी इंटरफ़ेस) एक इंटरफ़ेस है जिसे सिस्टम और पर्यावरण के बीच किसी भी इंटरैक्शन के दौरान अनदेखा किया जाता है।

एक सीमित इंटरफ़ेस (विशिष्ट इंटरफ़ेस) अपेक्षाकृत कम संख्या में संभावित इनपुट और आउटपुट के साथ एक इंटरफ़ेस है।

एक सीमित इंटरफ़ेस का एक अच्छा उदाहरण -

टुकड़ों को निर्दिष्ट कार्य

केवल इनपुट डेटा की एक छोटी संख्या के लिए परिभाषित किया गया।

यदि आप यथोचित रूप से "छेद" या "सीमा" इंटरफेस का मूल्यांकन कर सकते हैं, तो यह सीमा को रेखांकित करने के लिए समझ में आता है, जिसमें से एक अंत में बहुत सीमित और निष्क्रिय इंटरफेस होंगे, और दूसरी तरफ - असीमित और लीकी।

आप शायद किसी को स्केल पर बाएं या दाएं स्थानांतरित करने की पेशकश करते हैं, लेकिन सबसे महत्वपूर्ण बात यह है कि आपने इस विचार को पकड़ लिया है। आप दो अलग-अलग तराजू में भी तोड़ सकते हैं: छेद और कठोरता की डिग्री के अनुसार। हालांकि आम तौर पर ये दो अवधारणा अच्छी तरह से संबंधित हैं।

अगला सहसंबंध जो मैं पेश करना चाहता हूं वह मेरे अनुभव से लिया गया है। "त्रुटि" पैमाने के बाएं किनारे पर कम आम हैं, और आमतौर पर वे असफलताओं के कारण उत्पन्न होते हैं

मान्यकरण

.

। त्रुटि पैमाने के दाहिने किनारे पर अधिक बार होता है, और अक्सर उनका कारण असफलताओं में निहित होता है

सत्यापन

तकनीकी ऋण की एसिम्प्टोटिक जटिलता

मैं बयान से शुरू करूंगा:

तकनीकी ऋण का मुख्य हिस्सा परियोजना में या अमूर्तता के रिसाव पर अस्वीकार्य सहायता के कारण होता है, या बेहद अविश्वसनीय इंटरफेस के कारण, जो परिणामों की भविष्यवाणी को काफी हद तक जटिल बनाता है।

शुरुआत में, परियोजना में एक या दो मॉड्यूल होते हैं, और एक अच्छा इंटरफ़ेस अनुबंध का अध्ययन करने के लिए, आपको (1) पर काम की मात्रा को करने की आवश्यकता होगी। यदि आपका इंटरफ़ेस खराब है, तो तकनीकी ऋण की मात्रा भी (1) के बराबर होगी, इसलिए आपको इंटरफ़ेस अनुबंध लाने पर बहुत अधिक समय नहीं बिताना पड़ेगा। लेकिन मॉड्यूल की मात्रा में एक रैखिक वृद्धि के साथ, इंटरमोडुलिक बॉन्ड की मात्रा ओ (एन ^ 2) प्राप्त कर सकती है। इसलिए, एक खराब इंटरफ़ेस के साथ, यदि प्रत्येक मॉड्यूल अन्य सभी मॉड्यूल के साथ बातचीत करता है, तो सबसे खराब स्थिति में इंटरफ़ेस को अपील की संख्या एन ^ 2 के समान होगी।

जैसा कि ग्राफ से देखा जा सकता है, इसे शुरू में एक अच्छी तरह से विचार-विमर्श इंटरफ़ेस बनाने पर सहेजा जाता है। लेकिन इंटर-मॉड्यूल इंटरैक्शन से जुड़ी बढ़ती समस्याओं के कारण यह जीत तेजी से खो जाती है। इस प्रकार के कार्यों की मात्रा मॉड्यूल की मात्रा की डिग्री तक बढ़ जाती है, जबकि एक अच्छे इंटरफ़ेस के साथ यह रैखिक रूप से बढ़ता है। सबसे खराब परिदृश्य - जब प्रत्येक मॉड्यूल प्रत्येक मॉड्यूल के साथ संचार करता है, तो हेंडेशका की प्रक्रिया में और अधिक समस्याएं होती हैं, यहां से और उपजी होती हैं।

आम तौर पर, इंटरमोडुलिक इंटरैक्शन का स्तर ओ (एन ^ 2) की तुलना में धीमा हो रहा है, लेकिन यह निश्चित रूप से लगभग (एन) से तेज़ है। भविष्य में तेजी से विकास की शुरुआत को स्थानांतरित करने वाला एक कारक भी है: यह मानव स्मृति है। यहां तक ​​कि जब आपकी परियोजना में 20 मॉड्यूल होते हैं, तो शायद आपको याद है कि यह उनमें से प्रत्येक बनाता है। तो, सभी अनुबंधों में से आपको केवल कार्यों और गूढ़ समझौतों के धुंधले नामों की आवश्यकता है। लेकिन जैसे ही परियोजना काफी बड़ी हो जाती है, फिर कई विवरण भूल जाते हैं, या जब नए लोग परियोजना में आते हैं - और श्रम लागत की शक्तिशाली वृद्धि शुरू होती है।

  • अभी भी कमांड लाइन का उपयोग क्यों कर रहे हैं?
  • आपको इस सवाल के लिए लोगों से अलग-अलग उत्तर प्राप्त होंगे, जिनमें से कोई भी मुझे सबसे महत्वपूर्ण बात नहीं करता है:
  • कमांड लाइन लचीला है और कई अवसर प्रदान करता है।

यह कम संसाधनों का उपभोग करता है।

यह आपको बेहतर समझने की अनुमति देता है कि सब कुछ कैसे काम करता है।

सबसे महत्वपूर्ण बात यह है कि हम अभी भी कमांड लाइन का उपयोग करते हैं, यह है

स्वचालन!

स्वचालित प्रक्रियाओं का उपयोग करने के लाभों को अधिक महत्व देना संभव है। अगर मुझे 100 सर्वर पर क्लस्टर चलाने की ज़रूरत है, तो मैं उनमें से प्रत्येक से व्यक्तिगत रूप से कनेक्ट नहीं करूंगा और मैन्युअल रूप से सॉफ़्टवेयर स्थापित करूंगा, अनगिनत जीयूआई में बटन के ढेर पर क्लिक करके। यहां तक ​​कि यदि आपको जीयूआई में क्लिचन प्रक्रिया को स्वचालित करने की आवश्यकता है, तो आपको एक और फ़ाइल की आवश्यकता होगी जिसमें जानकारी को कहां और कैसे क्लिक किया जाए, पर सहेजा जाएगा। एक लचीली फ़ाइल की तरह कुछ ... टीमों।

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

बेशक, ऐसी स्थितियां हैं जहां जीयूआई की बातचीत की कम सटीकता अच्छी है। उदाहरण के लिए, डिजिटल पेंटिंग्स बनाते समय, आपको प्रत्येक पिक्सेल के प्लेसमेंट और रंग के बारे में चिंता करने की आवश्यकता नहीं है। मुख्य बात है

कुछ सम

प्रत्येक पिक्सेल के लिए विशेष। इसलिए, कर्सर को स्थानांतरित करने वाले शोर को अंतिम उत्पाद में महत्वपूर्ण जानकारी मिलती है।

सही भाषा का चयन

तकनीकी ऋण की एसिम्प्टोटिक जटिलता के बारे में अनुभाग के बाद, आप सोच सकते हैं कि किसी भी परियोजना को एक भाषा में इंटरफेस अनुबंधों की बहुत कठोर परिस्थितियों वाली भाषा में लिखी जानी चाहिए, जैसे हास्केल या जावा। लेकिन यह वही नहीं है जो मैं व्यक्त करना चाहता था। अगले प्रश्न का उत्तर आपको सही विकल्प बनाने में मदद कर सकता है।

आपकी परियोजना के लिए आवश्यकताओं को बदलने की कितनी संभावना है?

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

यदि आपने "बहुत संभावना" का उत्तर दिया है, तो उस भाषा का उपयोग करें जो आपको इंटरफ़ेस अनुबंध निर्दिष्ट करते समय कम समय कम करने की अनुमति देगा: आवश्यकताओं में परिवर्तन के मामले में वे निश्चित रूप से आपके खिलाफ काम करेंगे। लेकिन यहां मुख्य कार्य आवश्यकताओं के आदर्श कार्यान्वयन को प्राप्त नहीं करना है, बल्कि आदर्श आवश्यकताएं जो आपको अनुमति देती हैं

शुरू करने के लिए

अंतिम कार्यान्वयन बनाएँ। एक अपवाद एक ऐसी स्थिति हो सकती है जहां आपका एमवीपी सैकड़ों मॉड्यूल के साथ एक बड़ी प्रणाली है। यदि परियोजना में बहुत से लोग शामिल हैं, तो उनके लिए एक-दूसरे के पास आने के लिए एक अच्छा इंटरफ़ेस बस आवश्यक है।

यदि आपने "बहुत संभावना नहीं" का उत्तर दिया है, तो बहुत सख्त इंटरफ़ेस अनुबंधों वाली भाषा का उपयोग करें। सबसे पहले आपको अधिक काम करना होगा, लेकिन फिर नए अवसरों की शुरूआत के लिए कम प्रयास की आवश्यकता होगी। यदि आप कुछ छोटे उत्पाद (कई सौ तार) लिखते हैं तो एकमात्र अपवाद एक स्थिति हो सकती है।

रेलवे पर रूबी को बनाने के लिए कुछ समय पहले कुछ प्रतियां तोड़ दी गई थीं, और फिर परियोजना के स्केलिंग का कारण यह था। बाद में ट्विटर का अनुवाद स्कैला में किया गया था। कोई मान सकता है कि डेवलपर्स ने गलती की है और उन्हें तुरंत स्कैला का चयन करना चाहिए। मुझे ऐसा नहीं लगता। ट्विटर के दिल में एक बहुत ही सरल विचार है, और बड़ी संख्या में प्रतिस्पर्धियों की स्थितियों में जिन्हें बाजार में प्रमुख स्थिति जीतने के लिए आवश्यक है। खर्चों के बावजूद, उन्हें जितनी जल्दी हो सके बढ़ने की जरूरत थी। नई सुविधाओं के विकास चक्रों को जितना संभव हो सके पारित किया जाना चाहिए, क्योंकि यह समझने के लिए सबसे कम संभव समय में अनुमति देता है कि उपयोगकर्ताओं की वास्तव में क्या चाहिए, परिणामस्वरूप वे किस उत्पाद को प्राप्त करने के लिए चाहते हैं। स्केलिंग की कठिनाइयों में विफलता नहीं है, लेकिन सफलता। ट्विटर की दृष्टि को एक तैयार उत्पाद के रूप में तैयार किया गया था, और यह केवल इसे महसूस करने के लिए बने रहे। डेवलपर्स के दृष्टिकोण से, यह सिर्फ एक निर्वाण है, हर कोई ऐसी चीज के बारे में सपने देखता है, लेकिन कुछ लोग ऐसी परिस्थितियों में काम करने का प्रबंधन करते हैं: "अपनी पसंदीदा भाषा पर स्क्रैच से इस बकवास को पुनः प्राप्त करें, क्योंकि यह आपके लिए सुविधाजनक है, भविष्य में उसके साथ काम करना आसान था। " स्क्रैच से कुछ को फिर से लिखना बहुत आसान है, हमारी आंखों के सामने एक कमजोर कार्यान्वयन एक उत्पाद देखो जोड़ने की कोशिश करने के लिए, जो कंपनी को बंद करने की अनुमति देगा। दुर्भाग्यवश, अधिकांश बाजार प्रतिभागियों को स्क्रैच से बनाने के लिए "अनावश्यक" लागतों से परहेज करके और स्केलिंग के लिए बहुत अधिक ताकत और समय बिताने के लिए केवल "स्केलिंग के लिए असंभव था।

इतना लोकप्रिय पायथन क्यों है?

छेद और सख्त इंटरफेस पर अनुभाग में, मैंने इंटरफेस को वर्गीकृत करने की विधि के बारे में बात की, एब्स्ट्रैक्शन की रिसाव की लीक की अपनी प्रवृत्ति के आधार पर, साथ ही साथ इंटरफ़ेस परिभाषाएं कितनी सख्त हो सकती हैं। और मैंने इस तथ्य को इंगित किया कि इंटरफ़ेस स्पेक्ट्रम के दूसरे हिस्से की तुलना में अधिक "दोस्ताना" और "उत्पादक" इंटरफेस लीक के लिए अधिक प्रवण हैं।

मेरा मानना ​​है कि पाइथन की लोकप्रियता इस तथ्य से उत्पन्न होती है कि यह एक उत्कृष्ट प्रारंभिक भाषा है जो बेहद सरल इंटरफ़ेस अनुबंध प्रदान करती है। इसी कारण से, पायथन पर परियोजना में वृद्धि के साथ, यह अधिक से अधिक कठिन हो जाता है।

पायथन वैज्ञानिक समुदाय में और संख्यात्मक विश्लेषण के साथ प्रेमियों के प्रयोग के बीच बहुत लोकप्रिय है। प्रयोग के बहुत सार को बनाए गए उत्पाद में निरंतर सुधार की आवश्यकता होती है, और सख्त इंटरफेस धीमा हो जाते हैं।

कॉर्पोरेट सॉफ्टवेयर आमतौर पर जावा / सी ++ पर क्यों लिखता है?

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

कोनों को कैसे काटें

यदि आप इस लेख से कुछ लाना चाहते हैं, तो कृपया: जब आपको परियोजना में कोनों को काटने की आवश्यकता होती है, तो इसे अंदर करें

बिक्री

और बी के आसपास बारी

  • आप बहुत अ
  • इंटरफेस। यहां तक ​​कि यदि कार्यान्वयन बहुत अच्छा नहीं है और इसकी समस्याएं सिस्टम के अन्य हिस्सों में बहती हैं, तो यह एक खराब इंटरफ़ेस समस्या है! ताकि कोई गलतफहमी न हो, इंटरफेस के तहत मेरा क्या मतलब है की सूची दें:
  • कार्यों के प्रोटोटाइप।
  • "इंटरफेस" जावा।
  • सार्वजनिक कक्षाओं के तरीके।
  • सार्वजनिक घटकों के चर।
  • सी / सी ++ में हेडर फाइलें (.h)।
  • आरामदायक एपीआई अंत अंक।
  • यूआरएल रूटिंग।
  • "मॉडल" या "पैकेज" के सार्वजनिक पहलू।

तर्क डेटाबेस संरचना (डीडीएल)।

और भी बहुत कुछ।

निष्कर्ष

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

उपयोगकर्ता इंटरफ़ेस मनुष्यों और कंप्यूटर के बीच बातचीत का साधन है। सरल शब्दों के साथ बोलते हुए, इंटरफ़ेस प्रोग्राम का बाहरी हिस्सा है या डिवाइस जिसके साथ उपयोगकर्ता काम करता है। शब्द इंटरफ़ेस - अंग्रेजी इंटरफ़ेस के साथ कार्ट्रिज, यानी, "सीमा लिंक" है।

अक्सर, शब्द इंटरफ़ेस के तहत उपयोगकर्ता इंटरफ़ेस का तात्पर्य है। उदाहरण के लिए, वे कहते हैं: "इस ऑनलाइन स्टोर में एक असहज, भ्रमित इंटरफ़ेस है।" इसका मतलब है कि स्टोर बातचीत करने के लिए असुविधाजनक है। उदाहरण के लिए, आवश्यक वस्तुओं को ढूंढना मुश्किल है, यह स्पष्ट नहीं है कि ऑर्डर कैसे करें, साइट पहले दर्ज किए गए डेटा को सहेजती नहीं है, आदि।

उपयोग के उदाहरण:

कई उपयोगकर्ता पुराने इंटरफ़ेस "vkontakte" वापस करना चाहते हैं, वे नया पसंद नहीं करते हैं।

कार्यक्रम में एक सहज इंटरफ़ेस है - तुरंत स्पष्ट करें कि कहां दबाएं और यह क्या होगा।

विंडोज इंटरफ़ेस बहुत जटिल है: अनुभवहीन उपयोगकर्ताओं को सेटिंग्स के ढेर में उलझन में हैं।

वेब इंटरफ़ेस इंटरनेट पर एक पृष्ठ है जो उपयोगकर्ता को ब्राउज़र के माध्यम से सीधे कुछ सेवा या डिवाइस से बातचीत करने की अनुमति देता है। उदाहरण के लिए, वेब इंटरफ़ेस का उपयोग करके, आप ऑनलाइन बैंक का उपयोग कर सकते हैं: बैंक पेज पर जाएं, लॉगिन और पासवर्ड दर्ज करें, और फिर खातों के बीच धन का अनुवाद करें, सेवाओं के लिए भुगतान करें आदि।

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

सार्वभौमिक अनुक्रमिक टायर

परिधीय उपकरण को जोड़ने के लिए इरादा। एक यूएसबी के माध्यम से, उदाहरण के लिए, आप एक कीबोर्ड, माउस, कैमरा या स्मार्टफोन को कंप्यूटर से कनेक्ट कर सकते हैं।

हार्डवेयर इंटरफ़ेस - यूएसबी केबल

कार्यक्रम इंटरफ़ेस स्वयं के बीच कार्यक्रमों को बातचीत करने का एक तरीका है। उदाहरण के लिए, एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफेस, एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) कमांड का एक सेट है जो प्रोग्राम को स्वचालित रूप से लोगों की भागीदारी के बिना डेटा का आदान-प्रदान करने की अनुमति देता है। एक एपीआई कार्यक्रम एक अनुरोध भेजता है, दूसरा जवाब देता है।

उदाहरण के लिए, समाचार साइट पर वास्तविक समय में परिवर्तन की गई मुद्रा दरें दिखाती हैं। इसका मतलब यह नहीं है कि साइट संपादक हर बार मैन्युअल रूप से पृष्ठ पर संख्याओं को बदलता है। समाचार साइट स्वयं मुद्रा विनिमय के साथ एक सर्वर के लिए एक एपीआई अनुरोध भेजता है और वहां से आवश्यक संख्या प्राप्त करता है।

उपयोगकर्ता इंटरफेस के प्रकार। ग्राफिक, पाठ और अन्य

टेक्स्ट इंटरफ़ेस कमांड प्रिंटिंग का उपयोग कर कंप्यूटर वाले व्यक्ति को संवाद करने का एक तरीका है। उदाहरण के लिए, एमएस-डॉस ऑपरेटिंग सिस्टम में, इंटरफ़ेस टेक्स्ट था - उपयोगकर्ता कुंजीपटल पर आवश्यक आदेश डायल करता है, और मशीन ने उन्हें किया।

एमएस-डॉस टेक्स्ट इंटरफेस - कमांड लाइन

टेक्स्ट इंटरफ़ेस की समस्या यह है कि उपयोगकर्ता को आवश्यक आदेशों को जानना चाहिए और हर बार मैन्युअल रूप से त्रुटियों के बिना उन्हें टाइप करना चाहिए। आंशिक रूप से इस कठिनाई से एमएस-डॉस के लिए खोल को समाप्त कर दिया गया - उदाहरण के लिए, नॉर्टन कमांडर।

नॉर्टन कमांडर - एमएस-डॉस के लिए फाइल मैनेजर। आप न केवल कीबोर्ड पर कमांड टाइप कर सकते हैं, बल्कि कीबोर्ड शॉर्टकट का उपयोग करके फ़ाइलों के साथ काम कर सकते हैं।

जल्द ही ग्राफिकल इंटरफेस दिखाई दिए जहां उपयोगकर्ता दृश्य वस्तुओं के साथ इंटरैक्ट करता है: स्क्रीन पर बटन, आइकन, चित्र। विंडोज ऑपरेटिंग सिस्टम एक ग्राफिकल इंटरफ़ेस का उपयोग करता है: उपयोगकर्ता आइकन पर आइकन पर क्लिक करता है - Pictograms फ़ाइलों और प्रोग्राम को दर्शाते हैं।

विंडोज 3.11 ग्राफिकल इंटरफ़ेस

भौतिक इंटरफ़ेस मूर्त संरचनाओं का उपयोग करके कंप्यूटर के साथ बातचीत करने का एक तरीका है। उदाहरण के लिए, एक कंप्यूटर माउस या जॉयस्टिक एक सामग्री इंटरफ़ेस है। माउस को टेबल पर ले जाना, हम एक साथ स्क्रीन पर कर्सर तीर को स्थानांतरित करते हैं।

सामग्री इंटरफ़ेस - कंप्यूटर माउस। फोटो: डिपॉजिट फोटो।

वॉयस इंटरफ़ेस भाषण आदेशों का उपयोग कर नियंत्रण है। मानव आवाज आज भी मोबाइल फोन जानती है। उदाहरण के लिए, ऐप्पल से सिरी, Google के वॉयस सहायक, यांडेक्स से "एलिस"

वॉयस इंटरफ़ेस - ऐप्पल सिरी। सिरी भाषण व्याख्या और मान्यता इंटरफ़ेस (भाषण मान्यता और व्याख्या इंटरफ़ेस) से कमी है। फोटो: डिपॉजिट फोटो।

एक उपकरण इंटरफ़ेस आपको आदेश देने, अपनी उंगली, हाथ, कंप्यूटर माउस, विशेष नियंत्रक इत्यादि के साथ इशारा करने की अनुमति देता है।

स्थापना इंटरफ़ेस - निंटेंडो वाईआई गेम कंसोल, जिसका नियंत्रक उपयोगकर्ता की गति का जवाब देता है।

स्पर्श इंटरफ़ेस उपयोगकर्ता को स्पर्श संवेदना (पुश, कंपन, आदि) का अनुभव करने और उनकी सहायता के साथ कंप्यूटर के साथ बातचीत करने की अनुमति देता है।

आभासी वास्तविकता दस्ताने - एक स्पर्श इंटरफ़ेस का एक उदाहरण। फोटो: नासा।

तंत्रिका इंटरफ़ेस आपको मस्तिष्क में झुका हुआ इलेक्ट्रोड के साथ कमांड संचारित करने की अनुमति देता है। बिडरेक्शनल तंत्रिका इंटरफेस न केवल मस्तिष्क से जानकारी ले सकते हैं, बल्कि इसे मस्तिष्क को भेज सकते हैं - उदाहरण के लिए, आंख की रेटिना के माध्यम से।

जेन्स Naumann - अंधा, एक तंत्रिका दृश्य प्रोस्थेसिस के साथ "देखने" के लिए सक्षम। कैमरा छवि को कैप्चर करता है और इलेक्ट्रोड के माध्यम से मस्तिष्क के दृश्य छाल में संसाधित संस्करण भेजता है।

फिल्म "मैट्रिक्स" (1 999) में किआन रिवज़। नायकों वर्चुअल रियलिटी - द मैट्रिक्स में जाने के लिए न्यूरॉइंटरफेस का आनंद लें।

साइबेबिस - आभासी वास्तविकता के रूप में इंटरफ़ेस। शानदार फिल्म "जॉनी एमनेमोनिक" (1 99 5) से फ्रेम

आपका स्वागत है, दोस्तों! पीसी और फोन के मालिकों की अफवाह पर "इंटरफ़ेस" शब्द, लेकिन हर कोई इसे समझता नहीं है। हम टीपोट्स के लिए बताएंगे, कंप्यूटर और स्मार्टफोन में इंटरफ़ेस क्या है, इसकी आवश्यकता क्यों है, इसका उपयोग सही तरीके से कैसे किया जाए। साइट पर इस शब्द को देखते हुए, विवरण में या निर्देशों में, नवागंतुक समझ जाएगा कि हम किस बारे में बात कर रहे हैं और आगे क्या करना है।

लहर

इंटरफ़ेस क्या है जिसके लिए इसे आवश्यकता है

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

  • कंप्यूटर विज्ञान में, गहरा शब्द का अर्थ गेम, प्रोग्राम, या ऑपरेटिंग सिस्टम के साथ उपयोगकर्ता इंटरैक्शन टूल्स है, कंप्यूटिंग मशीन के संचालन को नियंत्रित करने के तरीके। इंटरफ़ेस के लिए धन्यवाद, एक व्यक्ति को किसी भी प्रोग्राम या टेक्स्ट एडिटर का पता लगाएगा। यदि हमारे पास पेंट ग्राफिक्स एडिटर के साथ काम है, तो अन्य समान कार्यक्रमों को मास्टर करना आसान है, क्योंकि उनके पास एक समान संरचना है।
  • मूल इंटरफ़ेस कार्य:
  • इनपुट और आउटपुट जानकारी;
  • प्रबंधन सॉफ्टवेयर;

बाहरी वाहक के माध्यम से डेटा एक्सचेंज;

आदेश।

पीसी सिस्टम यूनिट का पिछला पैनल एक इंटरफ़ेस भी है जो आपको अन्य उपकरणों को जोड़ने की अनुमति देता है।

उपयोगकर्ता में एक कंप्यूटर शामिल है और उसके सामने आइकन देखता है: "मेरा कंप्यूटर", "लेबल", "फोटो" इत्यादि। - यह सभी इंटरफ़ेस तत्व।

इंटरफेस के प्रकार

इंटरफ़ेस को संक्षेप में निकासी के रूप में वर्णित किया जा सकता है: एक पीसी या एक टेलीफोन का उपयोग करके एक व्यक्ति उसके सामने क्या देखता है। हालांकि वास्तव में, यह एक सिस्टम संरचना है, क्योंकि मेनू आइटम पर क्लिक करके बटन दबाकर, उपयोगकर्ता को इसकी आवश्यकता होती है: कैमरा, गैलरी, संपर्क, संदेश। इसका उद्देश्य इलेक्ट्रॉनिक डिवाइस या साइट का एक प्रभावी, सुखद उपयोग है।

वीडियो।

  • विभिन्न प्रकार के इंटरफेस हैं, जिनमें से प्रत्येक हम आगे बताएंगे।
  • सबसे आम:
  • कमांड लाइन;
  • ग्राफिक और टेक्स्ट इंटरफ़ेस;
  • प्रबंधन के प्रकार (इशारा, आवाज, स्पर्श और तंत्रिका);
  • कार्यक्रम;
  • हार्डवेयर;
  • हार्डवेयर सॉफ्टवेयर;
  • उपयोगकर्ता;
  • वेब;
  • खेल;

सामग्री;

कमांड लाइन

फोन में।

इंटरफ़ेस सरल शब्द क्या है

यदि आपको आधुनिक इंटरफेस के प्रकारों का नाम और सूचीबद्ध करने की आवश्यकता है, तो यह जानकारी सबकुछ सही ढंग से सेट करने और अच्छी प्रस्तुति बनाने में मदद करेगी।

यह एक अलग सॉफ्टवेयर है जो हमारा हिस्सा है और उपयोगकर्ता और ओएस के बीच संबंध सुनिश्चित करता है। कमांड प्रॉम्प्ट के लिए धन्यवाद, आप कंप्यूटर कमांड कर सकते हैं। यह अपनी भाषा में मशीन के साथ एक संचार है।

कमियों में - आपको आदेशों को जानने की जरूरत है, हर बार जब आप उन्हें बिना किसी त्रुटि के डायल करते हैं। लाभ ग्राफिक संरचना की भागीदारी के बिना आदेश दर्ज करने की क्षमता है, जो अतिरिक्त अवसर प्रदान करता है।

कमांड लाइन (कंसोल इंटरफ़ेस) अपने खोल में शुरू होती है, उदाहरण के लिए, बायोस में। इसके स्थान का मुख्य मार्ग: c: \ windows \ system32 \ cmd.exe। सामान्य युव्सर को जानबूझकर होने की आवश्यकता नहीं होती है जहां कमांड लाइन स्थित है और यह कैसे काम करती है, और पेशेवरों के लिए यह मुख्य उपकरण है, क्योंकि यह वायरस, विंडोज बहाली और अन्य मामलों में कंप्यूटर के साथ मदद करता है।

कमांड लाइन खोजने का एक आसान तरीका: एक ही समय में दिखाई देने वाली सीएमडी विंडो में विन + आर कुंजी दबाएं।

कमांड इंटरफ़ेस

ग्राफिक और पाठ

  • ग्राफिक (ईएनजी। ग्राफिकल यूजर इंटरफेस, जीयूआई) सभी परिचालनों में अधिकांश अनुप्रयोगों में उपयोग किया जाता है। अक्सर इसे विंप कहा जाता है - यह वर्डवो, आइकन, मेनू, पॉइंटिंग डिवाइस (हेरफेरिंग डिवाइस) के पहले अक्षरों का संक्षिप्त नाम है।
  • मुख्य तत्व:
  • मेन्यू;

सूचियां;

पिक्चरोग्राम (चित्र, योजनाएं)।

विंडोज़ विंडोज़ पर, उपयोगकर्ता आइकन पर क्लिक करता है, Pictograms जो प्रोग्राम और फ़ाइलों को दर्शाते हैं, एक ग्राफिकल इंटरफ़ेस हैं, जो प्रत्येक उपयोगकर्ता के लिए पर्याप्त अवसर प्रदान करता है। किसी भी आदेश को दर्ज करने की आवश्यकता नहीं है। सुविधाजनक बातचीत के लिए, एक कंप्यूटर माउस का उपयोग किया जाता है।

आपको दृश्य इंटरफ़ेस से ग्राफिक को अलग करने की आवश्यकता है, जो सिस्टम को दृश्य छवियों के सेट के रूप में दर्शाता है - यह एक विशिष्ट स्क्रीन स्थान में स्थित एक आइकन या शिलालेख हो सकता है। दृश्य संरचना जरूरी नहीं है ग्राफिक मैपिंग का उपयोग करें। दृश्य संरचना ग्राफिक और पाठ हो सकती है।

पाठ का उपयोग करता है और जानकारी प्रदान करते समय, अक्षरों / संख्याओं का एक सेट, छदागज के पात्र। यह सभी मूल ग्राफिक डिजाइन तत्वों का उपयोग करता है: चेकबॉक्स, बटन ड्रॉप सूचियां इत्यादि। छोटे-मांग वाले तकनीकी संसाधनों के साथ अलग, उच्च गति डेटा। टेक्स्ट इंटरफ़ेस एक प्रकार का उपयोगकर्ता है, जबकि कमांड लाइन टेक्स्ट का हिस्सा है।

सबसे सरल मामले में, टेक्स्ट इंटरफ़ेस एक कमांड लाइन का उपयोग करता है, लेकिन इंटरैक्टिव तत्वों के साथ कई कार्यक्रम एक अधिक अनुकूल, समझने योग्य डिज़ाइन बनाते हैं, जो ग्राफिक के लिए सुविधा के पास आ रहा है।

कुछ कार्यक्रम विकसित विंडो सिस्टम का समर्थन करते हैं, जैसे टर्बो दृष्टि, डी-फ्लैट, सीएसकेप, कई में परिवर्तनीय डिजाइन विषय (डॉस नेविगेटर) हैं, साथ ही विभिन्न इंटरैक्टिव इंटरैक्शन आइटम (जॉयस्टिक, माउस) का उपयोग करने की क्षमता भी है।

इशारा, आवाज, स्पर्श और तंत्रिका

  • उपयोगकर्ता कंप्यूटर का प्रबंधन करता है और विभिन्न तरीकों के साथ आदेश देता है: इशार, आवाज इत्यादि।
  • इसलिए, नियंत्रण का प्रकार प्रतिष्ठित है:
  • वार्षिक इंटरफ़ेस। संपर्क तत्व ग्राफिक टैबलेट, टच स्क्रीन और अन्य प्रौद्योगिकियों हैं जो उंगलियों के आंदोलनों पर प्रतिक्रिया करते हैं;
  • वॉयस इंटरफ़ेस भाषण प्रबंधन को दर्शाता है। उदाहरण हैं: ऐप्पल से सिरी, यैंडेक्स से एलिस;

स्पर्श जब इंटरैक्शन स्पर्श संवेदनाओं पर आधारित होता है, संवेदनशील प्रतिक्रिया प्राप्त करता है (कंपन, पुश);

न्यूरोनल - मस्तिष्क में झुका हुआ इलेक्ट्रोड के माध्यम से आदेशों का संचरण। मस्तिष्क से जानकारी ली जा सकती है और इसे संक्रमित किया जा सकता है, उदाहरण के लिए, आंख रेटिना के माध्यम से। व्यावहारिक रूप से, न्यूरॉइंटरफेस लकवाग्रस्त मरीजों के जीवन को कम करने में सक्षम है जिनके मस्तिष्क अच्छी तरह से काम करता है। न्यूरॉइंटरफेस उन्हें मस्तिष्क से जुड़े इलेक्ट्रोड की मदद से अपने इरादे पढ़ने, ठोस कार्यों को करने की अनुमति देता है।

ग्राफिकल सिस्टम इंटरफ़ेस

सॉफ्टवेयर, हार्डवेयर, हार्डवेयर और सॉफ्टवेयर

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

हार्डवेयर को स्लॉट, कनेक्टर, गेटवे द्वारा एक दूसरे के साथ भौतिक उपकरणों से बातचीत करने के लिए डिज़ाइन किया गया है। यूएसबी (सार्वभौमिक अनुक्रमिक टायर) सबसे परिचित उदाहरण है। इसके माध्यम से पीसी फोन, कैमरा, माउस से कनेक्ट करें;

हार्डवेयर-सॉफ्टवेयर नोड्स, प्रोग्राम नियंत्रण के तहत तत्वों की बातचीत है।

प्रयोक्ता इंटरफ़ेस

उपयोगकर्ता अपने सामने क्या देखता है, जहां यह क्लिक करता है - यह उपयोगकर्ता इंटरफ़ेस है। यह डिवाइस या प्रोग्राम का बाहरी हिस्सा है जिसके साथ उपयोगकर्ता काम करता है।

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

कमांड लाइन, ग्राफिक, टेक्स्ट, वॉयस, इशारा करना, स्पर्श, तंत्रिका, प्रक्रियात्मक - यह सब उपयोगकर्ता इंटरफ़ेस में शामिल है। इसके नियंत्रण में, उपयोगकर्ता पीसी में डेटा में प्रवेश करता है, मॉनीटर पर जानकारी प्रदर्शित होती है, प्रिंटर। स्प्रेडशीट का एक इंटरफ़ेस भी है - यह एक तत्व है जो एक व्यक्ति देखता है, चल रहा है, उदाहरण के लिए, openoffice.org कैल्क एप्लिकेशन।

लेकिन कुछ और प्रकार के उपयोगकर्ता इंटरफ़ेस हैं।

हार्डवेयर इंटरफ़ेस

वेब, खेल

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

वेब-इंटरफ़ेस बनाने का लोकप्रिय तरीका सीएसएस और जावास्क्रिप्ट के साथ एचटीएमएल का उपयोग है। एडोब फ्लैश, जावा एप्लेट्स या सिल्वरलाइट का भी उपयोग किया जाता है।

एक और प्रकार गेम इंटरफ़ेस है - सीधे Gamedizayn के साथ जुड़ा हुआ है, हालांकि यह इसकी क्षमता से परे चला जाता है। खिलाड़ी और खेल विभिन्न सार्वभौमिकों में रहते हैं, और गेमिंग संरचना उनके पारस्परिक संपर्क का बिंदु है। इसके साथ, गेमर को गेम से आवश्यक जानकारी मिलती है, और यह खिलाड़ी के कार्यों को लेती है।

सामग्री

सामग्री या स्पर्श इंटरफ़ेस एक और प्रकार का उपयोगकर्ता है। यह मूर्त संरचनाओं के साथ इलेक्ट्रॉनिक्स के साथ एक व्यक्ति का संपर्क है। उदाहरण के लिए, एक माउस चल रहा है, जो एक व्यक्ति स्क्रीन पर कर्सर के तीर को स्थानांतरित करता है।

इंटरफेस की किस्में

फोन में इंटरफ़ेस

मोबाइल डिवाइस इंटरफेस की समग्र शैली को सिम्प (स्क्रीन-आइकन-मेनू-पॉइंटर) के रूप में चिह्नित किया गया है। मोबाइल विंडोज प्लेटफॉर्म पर संरचना के तत्व हैं जो पूरी स्क्रीन पर कब्जा करते हैं। खिड़कियों के बीच संक्रमण ग्राफिक तत्वों द्वारा किया जाता है या एक उंगली के साथ खींच रहा है।

  • एसआईएमपी के डिजाइन की विशेषताओं को ओएस के विनिर्देशों द्वारा समझाया गया है।
  • गैजेट्स के लिए सबसे आम ओएस:
  • एंड्रॉयड;
  • ऐप्पल आईओएस;
  • विंडोजमोबाइल;
  • पाम ओएस;

सिम्बियन ओएस;

ब्लैकबेरी ओएस।

रूस लोकप्रिय है - एंड्रॉइड, ऐप्पल आईओएस, विंडोजमोबाइल। लेकिन निर्माता अपने प्रकार के इंटरफ़ेस सिस्टम और ब्लॉक का उपयोग करते हैं, मुख्य कारण ब्रांडिंग है। अनुकूलन के लिए एंड्रॉइड की क्षमता का मतलब है कि कॉर्पोरेट उपकरण के निर्माता सॉफ्टवेयर में परिवर्तन कर सकते हैं, उदाहरण के लिए, कार्यक्षमता और डिजाइन के क्षेत्र में।

मोबाइल उपकरणों में विभिन्न व्यवस्थित संरचनाएं मालिकों के अनुभव को बहुत प्रभावित नहीं करती हैं, क्योंकि वे सार्वभौमिक कार्यों को हल करने के लिए बनाए जाते हैं। अनुप्रयोगों के सेट में अंतर।

मोबाइल डिवाइस के इंटरफ़ेस में हेडफोन जैक, चार्जिंग, वॉयस हेल्पर्स भी शामिल हैं - पीसी के काम पर आधारित अधिकांश, केवल यह गैजेट्स के लिए समायोजित किया जाता है। लेकिन स्मार्टफोन में कई नई संरचनाएं हैं, उदाहरण के लिए, एनएफसी (एनएफएस) - वायरलेस संचार की संरचना।

इंटरफ़ेस भाषा का क्या अर्थ है

पाठ सामग्री टाइप करते समय स्थापित भाषाओं के साथ इसे भ्रमित करने के लायक नहीं है।

  • इंटरफ़ेस भाषा वह है जिसका उपयोग ऑपरेशन लोड करते समय, मेनू में, संवाद बॉक्स में, त्रुटि विंडोज और संदर्भों में। यह बदला जा सकता है यदि कम से कम 1 अतिरिक्त एक मुख्य भाषा में स्थापित किया गया है।
  • एक पीसी पर कौन सी भाषा खिड़कियां खड़ी है यह जानने का एक आसान तरीका:
  • "नियंत्रण कक्ष" खोलें;

टैब "भाषा";

अब उपयोग की जाने वाली मुख्य भाषा आवंटित की गई। इसे बदला जा सकता है या एक नया जोड़ दिया जा सकता है।

जाँच - परिणाम

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

इंटरफ़ेस को अक्सर कहा जाता है जब वे किसी व्यक्ति और कंप्यूटर या अनुप्रयोगों की बातचीत का मतलब रखते हैं। लेख में हम इंटरफ़ेस की परिभाषा का विश्लेषण करेंगे, जो इंटरैक्शन, उनके प्रकार और सुविधाओं के लिए है।

  • इंटरफ़ेस क्या है

  • इंटरफ़ेस मैन और एक प्रोग्राम, एक ऑपरेटिंग सिस्टम, एक तकनीकी डिवाइस, या खुद के बीच अनुप्रयोगों के बीच बातचीत की एक विधि के बीच एक "कंडक्टर" है। एक व्यक्ति इंटरफ़ेस का उपयोग करके कमांड देता है, डिवाइस उनका विश्लेषण करता है और जवाब देता है। मुख्य कार्य जिसके लिए इसका इरादा है:

  • जानकारी दर्ज करें और प्रदर्शित करें (ध्वनि, छवि);

  • व्यक्तिगत अनुप्रयोगों का प्रबंधन;

अन्य उपकरणों के साथ डेटा एक्सचेंज;

इंटरफेस के प्रकार

ऑपरेटिंग सिस्टम के साथ बातचीत।

कमांड लाइन

इंटरफ़ेस में न केवल मनुष्यों और प्रौद्योगिकी, बल्कि एक कंप्यूटर प्रोग्राम, प्रोग्राम प्रोग्राम, कंप्यूटर डिवाइस की बातचीत शामिल है। उदाहरण के लिए, जब डिवाइस कंप्यूटर सिस्टम इकाई से जुड़े होते हैं, क्योंकि इंटरैक्शन विधि कनेक्टर का उपयोग करती है।

कुछ प्रकार की बातचीत आपको कंप्यूटर या स्मार्टफ़ोन पर अधिक नियंत्रण प्राप्त करने की अनुमति देती है, लेकिन अतिरिक्त कौशल की आवश्यकता होती है। अन्य अधिक आरामदायक हैं, लेकिन कम अवसर प्रदान करते हैं। प्रत्येक प्रकार की अपनी विशेषताएं होती हैं।

कमांड लाइन (कंसोल इंटरफ़ेस) अपने खोल में शुरू होती है, उदाहरण के लिए, बायोस में। इसके स्थान का मुख्य मार्ग: c: \ windows \ system32 \ cmd.exe। सामान्य युव्सर को जानबूझकर होने की आवश्यकता नहीं होती है जहां कमांड लाइन स्थित है और यह कैसे काम करती है, और पेशेवरों के लिए यह मुख्य उपकरण है, क्योंकि यह वायरस, विंडोज बहाली और अन्य मामलों में कंप्यूटर के साथ मदद करता है।

कमांड लाइन के माध्यम से, आप ऑपरेटिंग सिस्टम के साथ संवाद करने के लिए अधिकतम संख्या में संचालन कर सकते हैं। कमांड टाइप करने के लिए, आपको कंप्यूटर में टेक्स्ट दर्ज करना होगा और एंटर दबाएं, कंप्यूटर प्रदर्शन शुरू कर देगा।

शून्य विधि यह है कि यह केवल प्रशिक्षित उपयोगकर्ताओं के लिए उपयुक्त है। कमांड लाइन में, कोई सहायक ग्राफिक तत्व नहीं हैं, इसे बातचीत के लिए भाषा मास्टर करना होगा, और आदेशों को गलत नहीं किया जा सकता है।

ग्राफिक्स कंप्यूटर के साथ बातचीत को सरल बनाता है, इसके साथ काम करना बहुत आसान है और पाठ के मुकाबले ज्यादा आरामदायक है। ग्राफिक इंटरफ़ेस की भूमिका में, ऐसे तत्व हैं:

सबसे सरल मामले में, टेक्स्ट इंटरफ़ेस एक कमांड लाइन का उपयोग करता है, लेकिन इंटरैक्टिव तत्वों के साथ कई कार्यक्रम एक अधिक अनुकूल, समझने योग्य डिज़ाइन बनाते हैं, जो ग्राफिक के लिए सुविधा के पास आ रहा है।

उदाहरण के लिए, जब विंडोज़ के साथ बातचीत करते समय आइकन और विंडोज़ का उपयोग करता है, तो माउस एंटर से जुड़ा होता है। स्मार्टफोन पर, इनपुट डिवाइस एक टचस्क्रीन डिस्प्ले है।

टेक्स्ट इंटरफ़ेस छवियों का उपयोग नहीं करता है: टेक्स्ट फॉर्म में टेक्स्ट और जानकारी का उपयोग करके आदेश दिए गए हैं।

इशारा बातचीत आपको उंगलियों की गतिविधियों को आदेश देने की अनुमति देती है। यह एक स्मार्टफोन की टच स्क्रीन के साथ काम करते समय लागू होता है। उदाहरण के लिए, "अप" इशारा पॉप-अप विंडो दिखाई देता है।

वॉयस इंटरफेस एक आवाज प्रबंधन है। गैजेट ध्वनि आदेशों को पहचानता है और करता है।

स्पर्श जब इंटरैक्शन स्पर्श संवेदनाओं पर आधारित होता है, संवेदनशील प्रतिक्रिया प्राप्त करता है (कंपन, पुश);

स्पर्श टच की मदद से बातचीत का अर्थ है: दबाने के लिए कंपन या संवेदनशीलता।

तंत्रिका इंटरफ़ेस सीधे मस्तिष्क से कंप्यूटर तक कमांड को प्रसारित करता है, इसके लिए, इलेक्ट्रोड मस्तिष्क में लगाया जाता है। इसका उपयोग दवा में किया जाता है: इसलिए एक लकवाग्रस्त व्यक्ति बाहरी दुनिया के साथ संवाद कर सकता है।

हार्डवेयर को स्लॉट, कनेक्टर, गेटवे द्वारा एक दूसरे के साथ भौतिक उपकरणों से बातचीत करने के लिए डिज़ाइन किया गया है। यूएसबी (सार्वभौमिक अनुक्रमिक टायर) सबसे परिचित उदाहरण है। इसके माध्यम से पीसी फोन, कैमरा, माउस से कनेक्ट करें;

एक दूसरे के साथ प्रोग्राम इंटरैक्शन एक सॉफ्टवेयर इंटरफ़ेस प्रदान करता है। कार्यक्रम एक दूसरे को अनुरोध भेजते हैं और उत्तर प्राप्त करते हैं। उदाहरण के लिए, किसी विजेट में या कंप्यूटर पर प्रासंगिक मौसम को लगातार दिखाने के लिए, एक प्रोग्राम लगातार दूसरे से अनुरोध भेजता है, और यह ताजा डेटा प्रदान करता है।

हार्डवेयर का उद्देश्य कनेक्टर और स्लॉट के माध्यम से भौतिक उपकरणों के बीच संचार संगठन के लिए है। और जब कंप्यूटर हार्ड डिस्क से जानकारी पढ़ता है - यह प्रोग्राम का एक संयुक्त काम है और भौतिक डिवाइस, वह हार्डवेयर और सॉफ्टवेयर इंटरफ़ेस है।

सब, जिसके साथ सामान्य उपयोगकर्ता कंप्यूटर में शामिल होने पर इंटरैक्ट करता है, वेबसाइट में प्रवेश करता है या एप्लिकेशन में, जो भी व्यक्ति स्क्रीन पर देखता है वह उपयोगकर्ता इंटरफ़ेस है।

वेब, खेल साइट

वेब-इंटरफ़ेस बनाने का लोकप्रिय तरीका सीएसएस और जावास्क्रिप्ट के साथ एचटीएमएल का उपयोग है। एडोब फ्लैश, जावा एप्लेट्स या सिल्वरलाइट का भी उपयोग किया जाता है।

वेब इंटरफ़ेस आपको ब्राउज़र के माध्यम से काम करने की अनुमति देता है। यह इंटरनेट पर कार्यक्रमों की बातचीत है। उदाहरण के लिए, आप स्टोर वेबसाइट पर जा सकते हैं और खरीदारी का भुगतान कर सकते हैं। इस मामले में ब्राउज़र एक वेब इंटरफ़ेस होगा, धन्यवाद, जिसके लिए पृष्ठ बातचीत करते हैं।

सामग्री

खेल यह है कि उपयोगकर्ता उस गेम के साथ बातचीत कर सकता है जो कमांड दे सकता है, गेम की जानकारी किस रूप में प्रस्तुत की जाती है और गेम कैसे कार्यों का जवाब देगा।

इंटरफ़ेस क्या होना चाहिए

यह गैजेट के साथ एक स्पर्श संपर्क है। इसमें टचस्क्रीन, माउस या जॉयस्टिक के साथ क्रियाएं शामिल हैं।

तर्क डेटाबेस संरचना (डीडीएल)।

स्मार्टफोन एक टच स्क्रीन का उपयोग करते हैं जो इशारा करने और स्पर्श इंटरफेस का तात्पर्य है। उपयोगकर्ता तत्वों को छूता है, ऑपरेटिंग सिस्टम या एप्लिकेशन इससे कमांड प्राप्त करता है और उन्हें निष्पादित करता है।

Добавить комментарий