का उपयोग करके एक विशिष्ट प्रोटोकॉल के अनुरूप हैं। मैं कक्षाओं को "टैग" करने का एक तरीका समझने की कोशिश कर रहा हूं जो बाद में लिखा जाएगा, इसलिए मैं उन्हें रनटाइम पर पा सकता हूं, लेकिन बिना लागू किए एक विशिष्ट अभिभावक वर्गों का उपयोग। वर्तमान में मैं शायद प्रोटोकॉल लगाने और फिर उस प्रोटोकॉल वाले सभी वर्गों को ढूंढने पर विचार कर रहा हूं।उन वर्गों को ढूंढना जो घोषणा करते हैं कि वे उद्देश्य-सी रनटाइम
लेकिन मैं यह समझने में सक्षम नहीं हूं कि कैसे।
क्या किसी को पता है कि रनटाइम पर एक विशिष्ट प्रोटोकॉल को लागू करने वाले सभी वर्गों को ढूंढना संभव है? या वैकल्पिक रूप से - कक्षाओं को "टैग" करने और उन्हें खोजने का एक बेहतर तरीका है?
अरोथ का जवाब काम करेगा, लेकिन मैं सुझाव दूंगा कि आप अपनी वास्तुकला पर फिर से जाएं और ऐसी चीज करने की आवश्यकता को खत्म कर दें। आम तौर पर, इस तरह के कमजोर युग्मित आर्किटेक्चर भविष्य में बहुत नाजुक कोड और महत्वपूर्ण रखरखाव/रिफैक्टरिंग सिरदर्द का कारण बनेंगे। मज़ा, निश्चित रूप से, लेकिन अंततः अव्यवहारिक। – bbum
आम तौर पर मैं चाहता था, लेकिन जो मैं खेल रहा हूं वह वसंतफ्रेमवर्क अवधारणाओं के समान कुछ है। प्रभावी रूप से मैं कक्षाओं पर काम करने के लिए कोडिंग कर रहा हूं जो तब तक अस्तित्व में नहीं रहेंगे जब तक कि मेरे ढांचे को किसी अन्य प्रोजेक्ट में शामिल नहीं किया जाता है। मैं जो करने का प्रयास कर रहा हूं वह है कि डेवलपर को मेरी कक्षाओं को विस्तारित करने की आवश्यकता के बिना मैं जो कर रहा हूं उसका उपयोग करने की अनुमति देना जो उनके स्वयं के पदानुक्रम के मामले में समस्याग्रस्त साबित हो सकता है। इस प्रकार मैं कक्षाओं को "टैग" करने के तरीकों की तलाश में हूं ताकि मेरा ढांचा उनके साथ काम करना जानता हो। – drekka
कूल। मैं सुझाव दूंगा कि आप कुछ अमूर्त आधार वर्ग प्रदान करते हैं और अन्य डेवलपर्स को उसमें से विरासत मिलती है, जो आवश्यकतानुसार कार्यक्षमता को ओवरराइड करते हैं। साथ ही, डेवलपर्स को प्रभावी ढंग से अपने ढांचे के साथ अपनी कक्षाओं को पंजीकृत करना भी उपयोगी है; जो उन्हें कॉन्फ़िगरेशन के आधार पर सशर्त रूप से कुछ कक्षाओं को पंजीकृत करने का मौका देता है, न कि दूसरों को। – bbum