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