2011-02-12 10 views
6

यह विरासत नहीं है, यह घोंसला वाले वर्ग नहीं है, मुझे नहीं पता कि यह क्या है और यह मुझे यहां लाता है।सी # - ऑब्जेक्ट के सदस्यों तक पहुंचने में सक्षम होने के लिए बनाई गई वस्तु

मैं एक कार्यक्रम लिख रहा हूँ और इस उच्च स्तरीय कार्यक्षमता है: वस्तुओं)

मुख्य ('ए()' प्रकार की एक सरणी बनाएँ 'ए() के निर्माता 20' बी बनाता है() 'वस्तुओं ' बी()) सी के costructor 4 बनाता है '(' वस्तुओं

अब 'बी() ए()' और 'सी()' चाहता है 'के सार्वजनिक सदस्यों में से कुछ का उपयोग करना चाहता' 'ए()' और 'बी()'

के कुछ सार्वजनिक सदस्यों का उपयोग करने के लिए, दूसरे शब्दों में, ए नियंत्रण रिकॉर्ड है, बी 20 आदेशों की एक सूची है और प्रत्येक कमांड में 4 सी तक है onditions। अब सी() शर्तों को प्रमाणित करने में सक्षम होना चाहिए, बी() सी() के सत्यापन और ए() के आधार पर कमांड को निष्पादित करने में सक्षम होना चाहिए, किसी भी तरह से पता होना चाहिए कि सभी बी क्या किए जाते हैं

तो विचार है कि कुछ वस्तुएं उत्पन्न हो जाती हैं और वे उन वस्तुओं के सदस्यों का उपयोग करने में सक्षम होना चाहिए जिन्होंने उन्हें बनाया है। मैं कन्स्ट्रक्टर में जानकारी पास कर सकता था लेकिन यह थकाऊ हो जाता है। उपरोक्त करने में सक्षम होने के लिए एक अच्छा डिजाइन होना चाहिए।

क्या कोई मदद कर सकता है ??

उत्तर

8

मैं निर्माता में जानकारी पास कर सकता हूं लेकिन यह थकाऊ हो जाता है।

यह व्यवहार करने का एक बहुत ही वैध माध्यम है, और एक बहुत ही सामान्य पैटर्न है। कठोरता कम है, खासकर यदि आप अपने कोड को साफ तरीके से डिजाइन करते हैं। यह मूल रूप से B bInstance = new B(); से B bInstance = new B(this); करने के लिए कोड की एक पंक्ति, आदि

ए() में परिवर्तन किसी भी तरह पता है जब सभी बी के

मैं किया जाता है इस संभाल करने के लिए घटनाओं का उपयोग कर की सिफारिश करेंगे चाहिए। बी में "पूर्ण" ईवेंट शामिल हो सकता है जिसमें प्रत्येक ए सदस्यता लेता है। यह चीजों को पूरा होने पर बिल्कुल यह जानने की अनुमति देगा।

संबंधित मुद्दे

 संबंधित मुद्दे