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