सबसे पहले और सबसे पहले समस्या के बारे में सोचें। यदि आप नेत्रहीन रूप से YAGNI या SOLID के सिद्धांतों को लागू करते हैं, तो आप बाद में खुद को चोट पहुंचा सकते हैं। कुछ ऐसा है जो मुझे आशा है कि हम सभी समझ सकते हैं कि कोई "एक" डिजाइन दृष्टिकोण नहीं है जो सभी समस्याओं को फिट करता है। आप इसका प्रमाण देख सकते हैं कि जब कोई स्टोर विज्ञापित टोपी को "एक आकार के सभी फिट बैठता है" के रूप में बेचता है, लेकिन यह आपके सिर पर फिट नहीं होता है। यह या तो बहुत बड़ा है या बहुत छोटा है।
इसके बजाय, उन सिद्धांतों और समस्याओं को समझना बेहतर है जिन्हें SOLID संबोधित करने का प्रयास कर रहा है; साथ ही उन सिद्धांतों और समस्याओं के बारे में जिन्हें YAGNI संबोधित करने का प्रयास कर रहा है। आप पाएंगे कि एक आपके आवेदन की वास्तुकला से संबंधित है और दूसरा समग्र रूप से विकास प्रक्रिया से संबंधित है। जबकि कुछ मामलों में ओवरलैप हो सकता है, वे अलग-अलग समस्याएं हैं।
YAGNI (आपको इसकी आवश्यकता नहीं है [विचित्र अमेरिकी संक्षिप्त रूप)) डेवलपर के समय को बचाने के साथ संबंधित है जो एक पुल के लिए फिर से प्रबलित कंक्रीट फ़ाउंडेशन जोड़ रहा है जो केवल 3 फुट चौड़ी क्रीक को जोड़ने का इरादा है जब एक सरल लकड़ी का पुल बस करेगा ठीक। यदि हम एक मील चौड़ी नदी को फैला रहे हैं और कई ट्रैक्टर ट्रेलरों का समर्थन करने की आवश्यकता है, तो निश्चित रूप से हमें उस अतिरिक्त नींव के काम की आवश्यकता होगी। संक्षेप में, YAGNI आपको वर्तमान जरूरतों के लिए बड़ी तस्वीर और डिजाइन को देखने के लिए कह रहा है । यह किसी चीज़ को बहुत जटिल बनाने की समस्या को संबोधित कर रहा है क्योंकि हम कई संभावित आवश्यकताओं की आशा कर रहे हैं जिन्हें ग्राहक ने अभी तक पहचाना नहीं है।
SOLID का संबंध है कि हम कैसे सुनिश्चित करें कि पुल के टुकड़े ठीक से एक साथ फिट हों, और समय के साथ बनाए रखा जा सके। आप लकड़ी के पुल के साथ-साथ स्टील फिर से प्रबलित कंक्रीट पुल के लिए ठोस सिद्धांतों को लागू कर सकते हैं।
संक्षेप में ये दोनों अवधारणाएं एक-दूसरे के साथ जरूरी नहीं हैं। जब आप एक ऐसी स्थिति में आते हैं जहां आप मानते हैं कि वे हैं, तो बड़ी तस्वीर को देखने का समय है। अपने निष्कर्ष के आधार पर, आप SOLID सिद्धांतों के एक हिस्से के साथ दूर करने का निर्णय ले सकते हैं या आप यह तय कर सकते हैं कि आपको वास्तव में इसकी आवश्यकता है।
SOLID principle vs YAGNI
?