मैं सोच रहा हूं कि यदि किसी वर्ग को केवल एक और कक्षा में तुरंत चालू किया जाएगा तो इसे उस वर्ग में घोंसला करने का अधिकार है। मुझे लगता है कि इससे हमें अच्छी डिजाइन में मदद मिलेगी। जब मैं अपनी परियोजना को देखता हूं तो मैंने लगभग कभी ऐसा घोंसला नहीं देखा है संरचना.लेकिन अगर मैं कक्षाओं को घोंसला करने की कोशिश करता हूं तो इस बार मेरे दिमाग में एक और प्रश्न दिखाई देते हैं। उदाहरण के लिएनेस्टेड कक्षाओं का उपयोग कहां और कैसे करें?
मेरे पास बोर्ड क्लास है, शॉर्टकास्टल, लॉन्गकास्टल, एनपैसेंट, प्रोमोटे और पायन्स जैसे कि Pawn, Queen, Rook, नाइट इत्यादि। तो यह स्पष्ट है कि बोर्ड कक्षाएं टुकड़ा वर्गों को तुरंत चालू करेंगी और टुकड़े वर्ग कक्षाओं को स्थानांतरित करेंगे। एक अच्छे डिजाइन के लिए, चाल वर्ग को बढ़ावा देना बंदूक के घोंसले को होना चाहिए क्योंकि केवल पंख खुद को बढ़ावा दे सकते हैं। शॉर्ट और लंबे कास्टल्स को राजा का घोंसला होना चाहिए क्योंकि केवल राजा के पास इस प्रकार की चाल हो सकती है।
सभी टुकड़े वर्गों को बोर्ड कक्षा में रखने की कोशिश करना अच्छा डिजाइन नहीं दिख रहा है क्योंकि 8-9 कक्षा बोर्ड कक्षा के अंदर होगी और यह वास्तव में परेशान होगी कि एक बोर्ड क्लास फ़ाइल बहुत बड़ी और शायद ही पठनीय होगी। मैं प्रत्येक को रखना पसंद करता हूं एक और फाइल में टुकड़ा वर्ग। अच्छा है कि हम आंशिक बोर्ड क्लास बना सकते हैं लेकिन अभी भी यह परेशान नहीं है 8-9 आंशिक बोर्ड क्लास फाइल प्रत्येक टुकड़ा वर्ग रखेगी? क्या उन्हें नेस्टेड नहीं करना बेहतर है? टुकड़े के बारे में वही एक और आंशिक टुकड़ा फ़ाइल सिर्फ एक और मूव प्रकार वर्ग के लिए बनाएँ? अगर नेस्टेड क्लास सिर्फ छोटी जगह लेता है तो यह कोई समस्या नहीं होगी लेकिन अगर इसमें कई तरीके हैं?
आप इस डिजाइन के साथ गलतियों की संभावनाओं को सीमित करते हैं। अन्य टुकड़ों में से कोई भी इस तरह की चाल नहीं बना सकता है, यहां तक कि गलत तरीके से। यह डिज़ाइन इसे नहीं देता है। क्या मैं गलत हूं? – Freshblood
गहरा घोंसले वर्ग अपने दायरे को सीमित करते हैं (जो कुछ परिदृश्यों में सहायक वास्तुशिल्प बाधा हो सकता है), लेकिन आप अपनी परियोजना में बहुत जटिलता ले रहे हैं। मैं "सबसे आसान चीज जो काम कर सकती है" करने की सलाह देना चाहूंगा और फिर आवश्यकता होने पर एक और जटिल डिजाइन को फिर से काम कर रहा हूं। बाद में, यदि आप कुछ कक्षाओं को तत्काल से हटाया जा सकता है, तो आप अलग-अलग विधानसभाओं में अपना समाधान तोड़ सकते हैं ("कक्षा पुस्तकालय" परियोजनाओं को बनाकर)। शुभकामनाएं! =) –