मुझे यकीन है कि इस विरोधी पैटर्न के लिए एक नाम है कहीं; हालाँकि, मैं इसे जानने के लिए प्रतिमान-साहित्य से पर्याप्त परिचित नहीं हूँ।
इस परिदृश्य पर विचार करें:
or0एक वर्ग में एक सदस्य समारोह है। बेहतर या बदतर के लिए, यह वर्ग के सदस्य चर पर बहुत अधिक निर्भर है। प्रोग्रामर ए के साथ आता है और or0कॉलिंग की बजाय कार्यक्षमता की आवश्यकता होती है or0, प्रोग्रामर ए प्रतियां और पूरे वर्ग का नाम बदल देता है। मैं अनुमान लगा रहा हूं कि वह फोन नहीं करती है or0, क्योंकि मैं कहता हूं, यह अपनी कार्यक्षमता के लिए सदस्य चर पर बहुत अधिक निर्भर है। या हो सकता है कि वह एक जूनियर प्रोग्रामर हो और उसे दूसरे कोड से कॉल करने का तरीका न पता हो। तो अब हम मिल गए हैं or0और c0(c प्रतिलिपि के लिए)। मैं इस दृष्टिकोण के लिए प्रोग्रामर ए को पूरी तरह से दोष नहीं दे सकता - हम सभी तंग समय सीमा के अंतर्गत आते हैं और हम काम पाने के लिए कोड हैक करते हैं।
कई प्रोग्रामर बनाए रखते हैं or0इसलिए यह अब संस्करण है orN। c0अब संस्करण है cN। दुर्भाग्य से अधिकांश प्रोग्रामर जो क्लास को बनाए रखते थे, or0वे पूरी तरह से अनजान c0थे- जो डीआरवाई सिद्धांत के ज्ञान के लिए मेरे द्वारा सोचा जा सकने वाले सबसे मजबूत तर्कों में से एक है। और इसमें कोड का स्वतंत्र रखरखाव भी हो सकता है c। किसी भी तरह से यह प्रतीत होता है कि or0और c0एक दूसरे से स्वतंत्र बनाए रखा गया था। और, खुशी और खुशी, एक त्रुटि उत्पन्न हो रही है cNजो इसमें नहीं होती है orN।
तो मुझे कुछ सवाल पूछने हैं:
1.) क्या इस विरोधी पैटर्न का कोई नाम है? मैंने देखा है ऐसा अक्सर होता है मुझे विश्वास करना मुश्किल होगा कि यह एक नाम-विरोधी पैटर्न नहीं है।
2.) मैं कुछ विकल्प देख सकता हूं:
a।) orNएक पैरामीटर लेने के लिए ठीक करें जो सभी सदस्य चर के मूल्यों को निर्दिष्ट करता है जो इसकी आवश्यकता है। फिर संशोधित सभी आवश्यक मापदंडों के साथ cNकॉल करने के लिए संशोधित करें orN।
b।) मैन्युअल रूप से पोर्ट फ़िक्सेस से orNकरने का प्रयास करें cN। (ध्यान रहे आप ऐसा नहीं करना चाहते हैं लेकिन यह एक यथार्थवादी संभावना है।)
सी।) पुनरावृत्ति orNको - cNआघात, हाँ, लेकिन मैं इसे पूर्णता के लिए सूचीबद्ध करता हूं।
डी।) यह पता लगाने की कोशिश करें कि कहां cNटूटी हुई है और फिर इसे स्वतंत्र रूप से मरम्मत करें orN।
वैकल्पिक एक लंबे समय में सबसे अच्छा ठीक तरह लगता है, लेकिन मुझे शक है ग्राहक मुझे इसे लागू करने देगा। कभी भी चीजों को ठीक करने के लिए समय या पैसा नहीं, लेकिन हमेशा समय और पैसा एक ही समस्या को ठीक करने के लिए 40 या 50 बार, सही?
क्या कोई अन्य दृष्टिकोण सुझा सकता है जिसे मैंने नहीं माना होगा?
