हर कोई SOLID सिद्धांतों के बारे में बात करता है। आपका सीनियर डेवलपर कोड रिव्यू में उनका जिक्र करता है। आपके आर्किटेक्चर दस्तावेज़ उनका संदर्भ देते हैं। लेकिन असली परियोजनाएं अनरक्षणीय कूड़े क्यों बन जाती हैं भले ही टीमें SOLID को “जानती” हों? उत्तर: SOLID को समझना और वास्तव में इसके साथ निर्माण करना दो बिल्कुल अलग चीजें हैं [1]।
अधिकांश डेवलपर्स SOLID के बारे में जल्दी सीखते हैं, सिर हिलाते हैं, फिर जैसे ही कोई समय सीमा आती है ये सिद्धांतों का तुरंत उल्लंघन करते हैं। मुझे आपको दिखाने दें कि समस्या कहां शुरू होती है — और यह सुनने में जितना कठिन लगता है उससे कहीं अधिक कठिन क्यों है।
OOP पचास साल से मौजूद है। Software में हर किसी ने इस पर एक course किया है। अधिकांश ने SOLID, inheritance, encapsulation, polymorphism के बारे में पढ़ा है। और फिर भी — मैं एक के बाद एक codebase में वही design गलतियाँ देखता रहता हूँ, startups से लेकर enterprise projects तक।
Theory जानना अच्छा OOP लिखने के बराबर नहीं है। यहाँ जानते हैं कि वास्तव में कहाँ गलत होता है।