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