मैंने सुना है कि वाक्यांश को घेर लिया गया है और मेरे लिए तर्क पूरी तरह से पागल लग रहे हैं (क्षमा करें, अगर मैं यहां स्ट्रोमैन कर रहा हूं, तो यह मेरा उद्देश्य नहीं है), आम तौर पर इसकी तर्ज पर कुछ किया जाता है:
आप सामान्य स्थिति क्या है, यह जानने से पहले आप अमूर्तता पैदा नहीं करना चाहते हैं, अन्यथा (1) आप अपने अमूर्त में ऐसी चीजें डाल सकते हैं जो संबंधित नहीं हैं, या (2) महत्व की चीजों को छोड़ देना।
(1) मेरे लिए यह लगता है कि प्रोग्रामर पर्याप्त व्यावहारिक नहीं है, उन्होंने यह धारणा बना ली है कि अंतिम प्रोग्राम में चीजें मौजूद नहीं होंगी, इसलिए वे अमूर्त के निम्न स्तर के साथ काम कर रहे हैं, समस्या नहीं है समय से पहले अमूर्तता, यह समय से पहले का विवेक है।
(2) महत्व की चीजों को स्वीकार करना एक बात है, यह पूरी तरह से संभव है कि कुछ इस कल्पना से छोड़ा गया है कि बाद में महत्वपूर्ण हो जाता है, इसका समाधान आपको अपने स्वयं के विवेक और अपशिष्ट संसाधनों के साथ नहीं आना है जब आपको पता चलता है गलत अनुमान लगाया गया, ग्राहक से अधिक जानकारी प्राप्त करना है।
हमें हमेशा अमूर्तता से नीचे की ओर काम करना चाहिए क्योंकि यह चीजों को करने का सबसे व्यावहारिक तरीका है, न कि दूसरे तरीके से।
यदि हम ऐसा नहीं करते हैं तो हम ग्राहकों को गलतफहमी पैदा करने का जोखिम लेते हैं और उन चीजों को बनाने की जरूरत होती है जिन्हें बदलने की आवश्यकता होती है, लेकिन अगर हम केवल ग्राहकों को अपनी भाषा में परिभाषित किए गए सार का निर्माण करते हैं तो हम कभी भी इस जोखिम को नहीं मारते हैं (कम से कम कहीं भी लेने की संभावना नहीं है। अंधेरे में कुछ सहूलियत के साथ एक शॉट), हाँ यह संभव है कि ग्राहक विवरणों के बारे में अपने मन को बदल दें, लेकिन वे अमूर्तता जो वे मूल रूप से संवाद करना चाहते थे जो वे अभी भी मान्य हैं।
यहां एक उदाहरण दिया गया है, जो कहता है कि एक ग्राहक आपको आइटम बैगिंग रोबोट बनाने की इच्छा रखता है:
public abstract class BaggingRobot() {
private Collection<Item> items;
public abstract void bag(Item item);
}
हम उन चीजों के बारे में अधिक विस्तार से जाने के लिए उपयोग किए गए अमूर्त से कुछ का निर्माण कर रहे हैं जिन्हें हम नहीं जानते हैं। यह बेहद लचीला है, मैंने इसे "समय से पहले अमूर्त" कहा जा रहा है जब वास्तव में यह अनुमान लगाने के लिए अधिक समयपूर्व होगा कि बैगिंग को कैसे लागू किया गया था, तो हम क्लाइंट के साथ चर्चा करने के बाद कहते हैं कि वे एक से अधिक आइटम एक ही बार में प्राप्त करना चाहते हैं। । अपनी कक्षा को अपडेट करने के लिए मुझे केवल हस्ताक्षर बदलने की आवश्यकता है, लेकिन किसी ऐसे व्यक्ति के लिए जो नीचे शुरू कर दिया है जिसमें एक बड़ी प्रणाली शामिल हो सकती है।
समय से पहले गर्भपात जैसी कोई चीज नहीं होती है, केवल समय से पहले गर्भपात होता है। इस कथन में गलत क्या है? मेरे तर्क में दोष कहां है? धन्यवाद।