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