मैं वर्तमान में एक परियोजना जहां निम्नलिखित विरासत संरचना प्रयोग किया जाता है पर काम कर रहा हूँ:शास्त्रीय विरासत और वस्तु पूलिंग
var Type = function(a){
this.a = a;
};
var SubType = function(a){
Type.call(this, a);
};
SubType.prototype = Object.create(Type.prototype);
SubType.prototype.constructor = SubType;
अब, मैं कुछ समीकरण को पूलिंग वस्तु को जोड़ने की कोशिश कर रहा हूँ। पैटर्न मैं वर्तमान में (स्यूडोकोड) की तरह काम करता है कुछ का उपयोग कर रहा:
Type.new = function(){
if object available in pool
reset popped pool object
return pool object
else
return new Type()
}
var a = Type.new();
बेशक
, इन दो पैटर्न का उपयोग कर के साथ समस्या यह है कि निर्माता कॉल उपप्रकार पर अभ्यस्त प्रकार के पूल से आकर्षित है। कारखाने की संरचना में जाने के बिना इसके आसपास कोई रास्ता है? अर्थात। वहाँ की तर्ज पर कुछ करने के लिए एक तरीका है, एक निर्माता में,: यह जानते हुए कि यह हमेशा संदर्भों पर एक जैसी नहीं है
var SubType = function(){
build on top of instanceReturnedFromFunction()
};
, मैं भी विरासत संरचना को बनाए रखने के लिए करना चाहते हैं चाहते हैं ताकि instanceof आदि अभी भी काम करेगा :
"कारखाना संरचना" क्या है और आप इससे क्यों बचना चाहते हैं? – Bergi
कारखाने की संरचना से, मेरा मतलब है कि 'फ़ंक्शन प्रकार (ए) {वापसी {ए: ए}}' के आधार पर कुछ रचनाकारों/नए से दोबारा प्रतिक्रिया करना। क्यों: इसमें रिफैक्टरिंग की मात्रा शामिल होगी, और कुछ इनबिल्ट ऑपरेटरों (उदाहरण के लिए आदि) का उपयोग बाहर कर देगा – Nodehead
आह, मैं देखता हूं। मैंने सोचा कि आपका मतलब 'Type.new' फैक्ट्री था ... – Bergi