एक गैर तकनीकी व्यक्ति को OOP अवधारणाओं की व्याख्या कैसे करें?


10

मैं अक्सर लोगों को यह बताने से बचने की कोशिश करता हूं कि मैं एक प्रोग्रामर हूं क्योंकि ज्यादातर समय मैं उन्हें समझाता हूं कि वास्तव में इसका क्या मतलब है। जब मैं उन्हें बताता हूं कि मैं जावा में प्रोग्रामिंग कर रहा हूं, तो वे अक्सर भाषा के बारे में सामान्य प्रश्न पूछते हैं और यह x और y से कैसे भिन्न होता है। मैं चीजों को समझाने में भी अच्छा नहीं हूं क्योंकि 1) मुझे क्षेत्र में उतना अनुभव नहीं है और 2) मैं गैर-तकनीकी लोगों को चीजों को समझाने से वास्तव में नफरत करता हूं।

वे कहते हैं कि आप किसी और को समझाने के बाद सही मायने में चीजों को समझते हैं, इस मामले में आप एक गैर तकनीकी व्यक्ति को ओओपी शब्दावली और अवधारणाओं को कैसे समझाएंगे?


क्या कोई व्यक्ति इसे सामुदायिक विकि के रूप में जोड़ सकता है? धन्यवाद।

2
मैंने कुछ समय पहले इसी प्रश्न को शब्द के लिए लगभग देखा है।

1
@ मिचेल क्या आप कुछ लिंक पोस्ट कर सकते हैं?

1
संबंधित या डुप्लिकेट: प्रोग्रामर.स्टैकएक्सचेंज.
com

डिजाइन पैटर्न (और इसलिए OOP) को समझने के लिए shop.oreilly.com/product/9780596007126.do पर देखें , इसके बारे में सबसे सहज पुस्तक
cl-r

जवाबों:


27

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

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

फिर मैं उन्हें कार, या ट्रक के बारे में भूल जाने के लिए कहूँगा और बस एक वाहन का वर्णन करना जारी रखने के लिए कहूँगा:

"ओह, यह अच्छी तरह से चलता है"

"इसमें एक ऑपरेटर, या एक ड्राइवर है"

आदि...

जल्द ही, हम जानते हैं कि एक वाहन क्या है और मैंने कहा कि ओओपी में हम एक वाहन को परिभाषित करेंगे, और तर्क के लिए कहें कि यह चल सकता है, और इसे एक चालक का रूप दे सकता है। फिर मैं पूछता हूँ, ठीक है, तो एक कार के पास क्या है?

"दरवाजे"

"खिड़कियाँ"

और फिर एक ट्रक ...।

"दरवाजे" "खिड़कियां" "अधिक पहियों!"

जल्द ही, बहुत चर्चा के बाद, दूसरे व्यक्ति ने आम तौर पर पहचान की है:

1) एक वाहन का गठन क्या है

2) एक कार का गठन क्या है

3) ट्रक का निर्माण क्या होता है

४) हवाई जहाज का निर्माण क्या होता है।

सभी बिना किसी तकनीकी जानकारी के। हमने प्रत्येक के गुणों को सही क्षेत्रों में विभाजित किया है। वे विरासत को समझते हैं ("हाँ, एक कार एक वाहन है, एक ट्रक एक वाहन है, लेकिन एक कार एक ट्रक नहीं है, यह सरल है, डुह!")।

वे भी बहुरूपता को समझते हैं, "निश्चित रूप से, वे मूल रूप से ऐसा ही करते हैं, लेकिन यह थोड़ा अलग हो सकता है।" हम व्यवहार के बारे में बात कर सकते हैं और जहां हमारे वस्तुओं के पेड़ में रहना चाहिए।

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

अब, आंशिक टेम्पलेट विशेषज्ञता, दूसरी ओर .... :)


3
LOL +1 एक अच्छे उत्तर के लिए, लेकिन मेरी इच्छा है कि मैं आपको आंशिक टेम्पलेट विशेषज्ञता के लिए एक और दे सकूं! मैं पशु उपमाओं का उपयोग करता हूं, क्योंकि विरासत उस संदर्भ में अधिक स्वाभाविक है। नरक, तुम भी कई (दोहरी) विरासत को इस तरह समझा सकते हैं!
चिन्मय कांची

हर कोई उदाहरण के रूप में कारों का उपयोग करता है। यही कारण है कि कारों में सौदा करने वाले OOP-clueless लगता है कि यह एक कोडबेस में काम करने के लिए वास्तव में निराशाजनक है।
एरिक रेपेन

14

वस्तुएं संज्ञा हैं, विधियां क्रिया हैं।


8
पर्याप्त रूप से, मुझे प्रोग्रामर को बार-बार समझाने की ज़रूरत है।
व्याट बार्नेट

7
हर बार नहीं। उदाहरण के लिए: मुझे आपके तरीके पर आपत्ति है। ;)
दान जे

जावास्क्रिप्ट विधियों में भी कार्य, गुण, संज्ञा, और क्रियाएं हैं।
एरिक रेपेन

3

यहाँ मेरे डिब्बाबंद जवाब के कुछ संस्करण हैं जो मैं अल्ट्रा गैर-तकनीकी व्यक्ति को देता हूं:

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

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

बोलना और चलना विभिन्न किस्मों में आ सकता है, जैसे कि कौन सी भाषा बोल रहा है, या जिस गति या जिस तरीके से चल रहा है।

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

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग इन "वास्तविक दुनिया की अवधारणाओं" और "व्यावसायिक तर्क" का सही प्रतिनिधित्व करने का साधन प्रदान करता है।

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


1

मैंने हमेशा इस तरह OOP सीखा:

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

अब आपको एक घड़ी की चीज़ मिल गई है, आप एक अलार्म घड़ी चाहते हैं - ठीक है, एक बार जब आप एक साथ सभी सामान प्राप्त कर लेते हैं, तो आप इसे बनाने के लिए चीजों को जोड़ सकते हैं - जैसे अलार्म सेट करें और इसे रिंग करें। इसे वंशानुक्रम कहते हैं ।

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

और आपके पास ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के 3 कोने हैं। बाकी सब सिर्फ कोडिंग है।


1

मैं उन्हें ओओपी में एक कोर्स के लिए साइन अप करने के लिए कहूंगा अगर वे वास्तव में इसे समझना चाहते हैं।

मेरा मतलब है, उन सभी उपमाओं जैसे Car.startEngine (); चलो, इसका सामना करते हैं - शुद्ध रैप। जब मैं कई साल पहले ओओपी में था, तो मैंने इन्हें केवल डोमेन को और भी आगे बढ़ाने के लिए पाया।

केवल यह बताने के बजाय कि ओओपी प्रक्रियात्मक भाषाओं की जटिलता के प्रबंधन के बारे में है, लगभग 80% प्रोग्रामिंग बुक लेखक यह मानते हैं कि प्रोग्रामर क्लूलेस इडियट्स हैं जिन्हें सरल में बात करने की आवश्यकता है (यहां विडंबना देखें?) शर्तें।

हां, लिस्ट और वैक्टर की व्याख्या करना पूरी तरह से सामान्य है, क्योंकि हम ज्यादातर कार के साथ काम करते हैं, न कि Car.Engine और PoliceMan.Arrest (जब तक आप गेम देव नहीं हैं, लेकिन फिर से, तब भी आपके पास अपना हिस्सा होना चाहिए था पूर्व)।

विषय पर वापस, मैं सिर्फ उन्हें बताऊंगा, मैं पेरोल प्रोसेसिंग / गेम प्ले / स्पेस शटल नेविगेशन, आदि के उद्देश्य से प्रोग्रामर के मन में मौजूद अमूर्त वस्तुओं का निर्माण करता हूं।

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


+1 OO का आविष्कार ज़ेरॉक्स स्पार्क में ठीक से किया गया था क्योंकि उन्हें लगा कि Car.startEngine()सामान प्रोग्रामिंग को सरल बना देगा और गैर-प्रोग्रामर या शुरुआत करने वाले के लिए आसान हो जाएगा। अच्छी तरह से स्पष्ट है कि सभी पर काम नहीं किया ...
2123

1

मैंने अपनी पत्नी से इस बारे में एक बातचीत के बारे में बात की, इस उत्तर में यहाँ: /software/45464/how-to-convince-non-programmer-his-nions-about- कंप्यूटर-हैं-गलत / 45467 # 45467

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

मेरी पत्नी के साथ एक रेस्तरां में बैठे, उसने मुझसे पूछा "ऑब्जेक्ट ओरिएंटेड का क्या मतलब है?"

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

इसलिए मैंने कंटेनर से एक स्प्लेंडा पैकेट पकड़ा। मैंने कहा, "यहाँ एक वस्तु है। इसके गुण क्या हैं?"

उसने कहा, "यह आयताकार है, यह कागज से बना है, इसमें स्प्लेन्डा है, यह नीला है, इस पर छपाई है।"

मैंने एक चीनी का पैकेट उठाया। "क्या यह एक के साथ आम में है?"

उसने कहा, "आयताकार, कागज, कि छपाई है।"

मैंने कहा, "इस बारे में क्या है कि उन दोनों में कुछ मीठा है?"

उसने कहा, "ज़रूर।"

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

उसने कहा, "ज़रूर।"

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

उसने कहा, "ठीक है। ओह! और अगर मैं बनाना चाहता था, जैसे, एक सैकरीन का पैकेट, तो मैं जेनेरिक ले जाऊंगा और इसके बारे में डिटेल्स को सैकेरिन के लिए सेट कर दूंगा, और फिर मेरे पास वह होगा!"

मैंने कहा, "बिंगो: ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग।"

आप और मैं जानते हैं कि उसने फैक्ट्री के डिजाइन पैटर्न को अपना रास्ता बना लिया। जो कुछ। यह विरासत, एनकैप्सुलेशन, ऑब्जेक्ट क्लास आइडेंटिटी ... अच्छी चीजें दिखाता है।


Drat। लिंक्ड उत्तर "मॉडरेशन के कारणों" के कारण हटा दिया गया। कैसे अस्पष्ट अस्पष्ट! :-(
Ogre Psalm33

@ OgrePsalm33 - मोटे तौर पर मेरे जवाब को दोहराया।
डैन रे

0

यह प्रश्न बंद होने के लिए एक उम्मीदवार लगता है, फिर भी ...

ज्यादातर चीजों की तरह, ओओपी वास्तव में एक वैचारिक स्तर पर व्याख्या करने के लिए बहुत सरल है। प्रोग्रामर मॉडल ऑब्जेक्ट्स; तथा:

  • ऑब्जेक्ट में राज्य (फ़ील्ड / डेटा सदस्य) होते हैं
  • वस्तुओं में क्रियाएँ (विधियाँ / कार्य) होती हैं
  • वस्तुएं एक-दूसरे पर बनती हैं (वंशानुक्रम)

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


0

मोबाइल फोन उदाहरण:

कल्पना कीजिए कि आप एक कारखाने के मालिक हैं, आप एक सामान्य फोन का वर्णन करना चाहते हैं

  • चरण 1: इस जेनेरिक फोन के गुणों की सूची बनाएं जैसे: ऊंचाई, वजन, रंग, आदि
  • चरण 2: इस जेनेरिक फोन कार्यों को सूचीबद्ध करें जैसे: कॉल करें, कॉल प्राप्त करें, एसएमएस भेजें आदि

अब जब आपके पास आपका सामान्य "खाका" है, तो मुझे निम्नलिखित फोन बनाएं:

फ़ोन 1:

  • ऊंचाई-> 102 मिमी

  • वजन-> 85 ग्रा

  • रंग-> गुलाबी

फ़ोन 2:

  • ऊँचाई-> 125 मिमी

  • वजन-> 96 जी

  • रंग-> लाल


0

मुझे लगता है कि ओओपी के बारे में एक गैर-तकनीकी प्रकार को समझाने का सबसे अच्छा तरीका यह है कि इसे उनसे संबंधित किया जाए।

अनिवार्य रूप से OOD और OOP चाहते हैं कि आप उस प्रणाली के बारे में सोचें जिसे आप डिज़ाइन कर रहे हैं और बातचीत की दुनिया के रूप में कार्यान्वित कर रहे हैं।

तो, तर्क के लिए (जो कि इंटरनेट पर कभी भी ठीक नहीं होता है), कहते हैं कि आप OOD और P के बारे में मना करने वाले कलेक्टर को समझा रहे हैं। उसका नाम बॉब है। आप 15 साल पहले उसके साथ स्कूल जाते थे, आप एक बार में उससे टकरा गए थे, और आप दोनों एक-दूसरे के जीवन में रुचि रखते थे।

"तो, जॉन, आप कहते हैं कि आप एक प्रोग्रामर हैं। मेरा भतीजा उस सभी बकवास में है। ऑब्जेक्ट को प्रोग्रामिंग, या कुछ और के बारे में बताता रहता है। वह सब क्या है?" ध्यान दें कि बॉब ब्रिटिश है जिस तरह से वह मिसाइलों को उन्मुख करता है।

"ठीक है, बॉब," आप उत्तर देते हैं, झुकाव पर केंद्रित है। "यह वास्तव में काफी सरल है। आप मना कर देते हैं, ठीक है? क्या, आम तौर पर आप अपनी नौकरी में हैं?"

", ठीक है, मैं शहर के चारों ओर वैन का पालन करता हूं, बकवास उठाता हूं और वैन में डाल देता हूं," बॉब ने उत्तर दिया।

और उसके लिए आपको सुनना पड़ेगा। वे हमारे व्यवहार हैं। यह अनिवार्य रूप से डिजाइन के लिए आवश्यक है। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग अनिवार्य रूप से है कि आप डिज़ाइन को कैसे लागू करते हैं। यह भाषा से भाषा में भिन्न है। ”

बॉब अपनी बियर में सो गया है। आप दूर चले जाते हैं।


1
आह! वोट से ड्राइव। अपने आकर्षण में सनकी।
मैट एलेन

1
मजेदार कहानी है भाई। क्या आप भी प्याज को अपनी बेल्ट से बांधते हैं?
डोनाल्ड फेलो

केवल बड़े पीले, युद्ध के कारण।
मैट एलेन

0

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

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


0

OOP एक सकल सरलीकरण है अगर कुछ भी - एक अमूर्त - मानव विचार प्रक्रिया और दुनिया की समझ को डिजिटल रूप से कार्यक्षमता के लिए प्रोजेक्ट करने के लिए "void" से परिचित प्रक्रियाओं और वर्गीकरण की नकल करने के लिए डिजिटल रूप से। यह कई मामलों में, हमारी "हमारी सोच कंप्यूटर की तरह" की तुलना में हमारी आदिम भाषा की स्थिति के बारे में अधिक है।

अगर वास्तविकता की प्रोग्रामिंग की जाए या मानव ने सोचा कि यह प्रकृति में कहीं अधिक जैविक, अराजक और बेतरतीब होगा - पार्श्व भी। इसके बजाय हम बेबी स्टेप्स, "2 + 2 लॉजिक", क्रूड कैटेगरीज, री-यूजेबल छोटे टूल्स और प्रागैतिहासिक रीजनिंग में वास्तविकता को सरल बनाते हैं।

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


0

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

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

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

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.