मुझे लगता है कि सबसे बड़ी चिंता यह है कि मैं होता कारखाने का उद्देश्य है कि है क्लाइंट कोड को किसी ऑब्जेक्ट का व्युत्पन्न उदाहरण बनाने के लिए अनुमति देने के लिए अनुमति देने के लिए अनुमति देने के लिए अनुमति दें (अधिक विशेष रूप से, उदाहरण बनाने का विवरण, लेकिन अगर सही तरीके से किया जाता है, तो कॉलर को किसी भी बेहतर को जानने की आवश्यकता नहीं है आधार वर्ग द्वारा प्रदान की जाने वाली चीज़ों से परे विवरण)।
व्युत्पन्न प्रकार से निकाली गई प्रकार की जानकारी का उपयोग करने के लिए अभी भी कॉलर को कुछ अंतरंग ज्ञान होना चाहिए जिसके बारे में वह तत्काल करना चाहता है, जिससे इसे अपडेट करना और बनाए रखना मुश्किल हो जाता है। एनम प्रकार (या स्ट्रिंग, इंट, इत्यादि) को प्रतिस्थापित करके, आप नए व्युत्पन्न प्रकारों के बारे में जागरूक होने के लिए कॉलिंग कोड को अपडेट किए बिना फैक्ट्री को अपडेट कर सकते हैं।
मुझे लगता है कि कोई तर्क दे सकता है कि प्रकार का नाम कॉन्फ़िगरेशन फ़ाइल, डेटाबेस इत्यादि से स्ट्रिंग के रूप में पढ़ा जा सकता है, और प्रतिबिंब (.NET में) या RTTI (C++ में) का उपयोग करके निर्धारित प्रकार की जानकारी, लेकिन मुझे लगता है कि यह आपके पहचानकर्ता के रूप में टाइप स्ट्रिंग का उपयोग करने के लिए एक बेहतर मामला है क्योंकि यह प्रभावी रूप से उसी उद्देश्य को पूरा करेगा।
मैं निश्चित रूप से सहमत हूं! संकलन-समय की बाधाओं को लागू करने और उपयोग करने में आसान होने के लिए बहुत आसान है। – jeremyalan