राज्य मशीनों को घटक-आधारित आर्किटेक्चर में हानिकारक निर्भरता का कारण लगता है।
कैसे, विशेष रूप से, संचार एक राज्य मशीन और घटकों से जुड़ा होता है जो राज्य से संबंधित व्यवहार करते हैं?
मैं यहाँ कहाँ हूँ:
- मैं घटक-आधारित आर्किटेक्चर के लिए नया हूं।
- मैं एक लड़ाई का खेल बना रहा हूं, हालांकि मुझे नहीं लगता कि इसे मायने नहीं रखना चाहिए। मैं कल्पना करता हूं कि मेरी राज्य मशीन का उपयोग "क्राउचिंग", "डैशिंग", "ब्लॉकिंग" आदि जैसे राज्यों को टॉगल करने के लिए किया जा रहा है।
- मैंने इस राज्य-प्रबंधन तकनीक को एक घटक-आधारित वास्तुकला के लिए सबसे प्राकृतिक प्रणाली के रूप में पाया है, लेकिन यह उन तकनीकों के साथ संघर्ष करता है, जिनके बारे में मैंने पढ़ा है: गतिशील व्यवहार ऑब्जेक्ट वर्णनीय व्यवहार योग्य वर्णों के लिए सिस्टम यह सुझाव देता है कि सभी घटक सक्रिय / निष्क्रिय करें लगातार सक्रियता के लिए एक शर्त की जाँच करके।
- मुझे लगता है कि "चल रहा है" या "चलना" जैसी क्रियाएं राज्यों के रूप में समझ में आती हैं, जो यहां स्वीकृत प्रतिक्रिया से असहमत हैं: /gamedev//a/7934
मैंने इसे उपयोगी, लेकिन अस्पष्ट पाया है: घटक-आधारित गेम आर्किटेक्चर में व्यवहार को कैसे लागू किया जाए? यह बताता है कि एक अलग घटक है जिसमें एक राज्य मशीन के अलावा कुछ भी नहीं है। लेकिन, यह राज्य मशीन घटक और लगभग सभी अन्य घटकों के बीच कुछ प्रकार के युग्मन की आवश्यकता है। मुझे समझ नहीं आया कि इस कपलिंग को कैसे संभाला जाए। ये कुछ अनुमान हैं:
A. अवयव राज्य मशीन पर निर्भर करते हैं:
घटक राज्य मशीन घटक के संदर्भ को प्राप्त करते हैंgetState()
, जो एक निरंतरता देता है। घटक खुद को नियमित रूप से अपडेट करते हैं और आवश्यकतानुसार इसकी जांच करते हैं।B. राज्य मशीन घटकों पर निर्भर करती है:
राज्य मशीन घटक उन सभी घटकों के संदर्भ प्राप्त करता है जिनकी वह निगरानी कर रहा है। यह उनकेgetState()
तरीकों पर सवाल उठाता है कि वे कहां हैं।C. उनके बीच कुछ अमूर्तता
एक इवेंट हब का उपयोग करें? कमांड पैटर्न?डी। अलग राज्य वस्तुओं है कि संदर्भ घटक
राज्य पैटर्न का उपयोग किया जाता है। अलग-अलग राज्य ऑब्जेक्ट बनाए जाते हैं, जो घटकों के एक सेट को सक्रिय / निष्क्रिय करते हैं। राज्य मशीन राज्य वस्तुओं के बीच स्विच करती है।मैं घटकों को पहलुओं के कार्यान्वयन के रूप में देख रहा हूं । वे उस पहलू को बनाने के लिए आंतरिक रूप से आवश्यक सभी कुछ करते हैं। ऐसा लगता है जैसे अन्य घटकों पर भरोसा किए बिना, घटकों को अपने दम पर कार्य करना चाहिए। मुझे पता है कि कुछ निर्भरताएं आवश्यक हैं, लेकिन राज्य मशीनें मेरे सभी घटकों को नियंत्रित करना चाहती हैं।