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