2017-03-17 6 views
5

मैं AngularJS और टाइपप्रति साथ वाला ऐपकिस मामले में एंगुलरजेएस फैक्ट्री का उपयोग टाइपस्क्रिप्ट के साथ करने की आवश्यकता है?

मैं जानना चाहता हूँ वहाँ किसी भी मामले में जब मैं AngularJS कारखानेटाइपप्रति स्टेटिक के बजाय का उपयोग करना चाहिए कक्षा

उत्तर

3

ईएस 6/टाइपस्क्रिप्ट कक्षाओं के साथ कुछ भी नहीं बदलता है। वे जावास्क्रिप्ट कन्स्ट्रक्टर कार्यों के लिए सिर्फ वाक्य रचनात्मक चीनी हैं।

factory सेवाओं के लिए अच्छे उपयोग के मामलों को उन्मूलन की प्रक्रिया से पता लगाया जा सकता है।

service के बाद से सेवाओं OOP स्वाद इकाइयों के लिए बेहतर कर रहे हैं:

app.value('bar', 'bar'); 
app.value('Baz', BazClass); 
:

class FooClass { 
    static $inject = [...]; 
    constructor(...) {} 
} 

app.service('foo', FooClass); 

और value सेवाओं सिंगलटन इकाइयों कि कक्षाओं का निर्माण नहीं कर रहे हैं और डि शामिल नहीं है के लिए बेहतर हैं

factory सेवाओं का उपयोग बाकी मामलों के लिए किया जा सकता है। अर्थात। जब एक सेवा डि की जरूरत है और दिए गए मान को आसानी से एक वर्ग का निर्माण नहीं किया जा सकता - एक समारोह, एक आदिम, एक वस्तु है कि समारोह कॉल से दिया जाता है:

app.factory('qux', ($q) => $q.all([...])); 
3

है हम एक ही समस्या दो था बहुत साल पहले। निर्णय कोणीय प्रणाली के साथ रहने और केवल कोणीय सेवाओं का निर्माण करना था। न तो कोणीय कारखाना या टाइपस्क्रिप्ट स्थिर। कारण यह था कि हम ट्रैक कर सकते हैं कि सेवा कैसे बनाई और साझा की गई है। (हार्ड द्वारा)

अपने प्रश्न का उत्तर देने के लिए, कोणीय फैक्ट्री एक ऐसी वस्तु है जिसे अभी भी कोणीय प्रणाली पर इंजेक्शन बेस की आवश्यकता होती है। यह अच्छा है अगर आप कोणीय के साथ तंग रखना चाहते हैं।

दूसरी तरफ टाइपस्क्रिप्ट अधिक सामान्य है। जब आप स्थिर फ़ंक्शन कहते हैं, तो यह केवल एक फ़ंक्शन है। जैसे आप इसे कहीं और आयात नहीं कर सकते हैं, और फिर इसका उपयोग करें।

1

के बारे में कुछ जावास्क्रिप्ट पैटर्न:

एक जावास्क्रिप्ट में ऑब्जेक्ट्स बनाने के लिए सामान्य पैटर्न मॉड्यूल पैटर्न है। पैटर्न में फ़ंक्शन से ऑब्जेक्ट वापस करना शामिल है जो आपकी सार्वजनिक API होगी।

खुलासा मॉड्यूल पैटर्न नामक मॉड्यूल पैटर्न में एक लोकप्रिय भिन्नता है। खुलासा मॉड्यूल पैटर्न के साथ क्या होता है चीजें स्पष्ट रूप से निजी शुरू होती हैं, और फिर विकल्प बनते हैं कि वे सार्वजनिक हो जाते हैं या नहीं।

संबंधित मुद्दे

 संबंधित मुद्दे