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