मुझे स्टीव येगेज Prototype Pattern example पसंद है और अवधारणा उदाहरण के त्वरित प्रमाण को चाबुक करने का फैसला किया है।येगेज प्रोटोटाइप पैटर्न उदाहरण उदाहरण चर को कैसे संभालता है?
हालांकि, मैंने वास्तव में चीजों को नहीं सोचा था। हालांकि यह वस्तुओं के व्यवहार को गतिशील रूप से निर्दिष्ट करने के लिए बहुत अच्छा है और स्टीव के opinionated elf उदाहरण के लिए एक आसान समाधान है, उदाहरण के लिए, मैं अभी भी आवृत्ति चर को संभालने का सबसे अच्छा तरीका बनाने की कोशिश कर रहा हूं।
उदाहरण के लिए, मान लें कि मेरे पास एक AwesomeDragon ऑब्जेक्ट है। मैं फिर एक AwesomeDragonImmuneToFire ऑब्जेक्ट बनाना चाहता हूं, इसलिए मैं AwesomeDragon (AwesomeDragonImmuneToFire को AwesomeDragon से गुणों को विरासत में मिलाता है) और 'डाल' 'इम्यूनोफायर "को' सत्य 'के मूल्य के साथ एक संपत्ति के रूप में एक नया बच्चा बना देता हूं। अब तक सब ठीक है। अब मान लें कि मैं अपने AwesomeDragon ऑब्जेक्ट को पास के किसान गांवों के दौरे पर भेजना चाहता हूं। इसमें AwesomeDragon की 'स्थिति' प्रॉपर्टी को अपडेट करना शामिल होगा। हालांकि, जिस क्षण मैं यह करता हूं वह बहुत बढ़िया ड्रैगन ImmuneToFire भी बंद हो जाएगा।
ऑब्जेक्ट निर्माण पर उदाहरण मानों को ओवरराइड करने का सबसे अच्छा समाधान है उदा। 'स्थिति' के वर्तमान 'get' मान पर AwesomeDragonImmuneToFire पर तुरंत 'स्थिति' मान डाल दें?
मैंने सोचा था कि प्रोटोटाइप का विचार यह था कि कोई वास्तविक वर्ग नहीं था - केवल प्रोटोटाइप वर्ग के उदाहरण थे। हाइब्रिड सिद्धांत ठीक काम कर सकता है मुझे लगता है लेकिन मुझे चिंता है कि फिर आपको ऑब्जेक्ट विधियों और प्रोटोटाइप गुणों की जांच करने के लिए मजबूर होना पड़ता है। –
रास्ते से प्रतिक्रिया के लिए धन्यवाद - मुझे आपका उदाहरण पसंद है और ऊपर उठाया गया है। –
वास्तव में केवल उदाहरण हैं। हालांकि, प्रोटोटाइप के रूप में उपयोग किए जाने वाले Awesome का उदाहरण और वर्लफ़्लो में उपयोग किए जाने वाले Awesome के उदाहरण अलग-अलग हो सकते हैं उदाहरण के लिए –