ایسی خدمات مہیا کرتی ہیں جو دوبارہ استعمال کے قابل سنگلٹن آبجیکٹ ہیں۔ ان کو AngularJS ایپلی کیشن کے صارفین میں کوڈ شیئر کرنے کے لئے استعمال کیا جاسکتا ہے۔ انہیں ہدایتوں ، فلٹرز اور میں بھی ٹیکہ لگایا جاسکتا ہے . اس مضمون میں ، ہم AngularJS میں فیکٹری کو سمجھیں گے۔
AngularJS میں فیکٹری کیا ہے؟
فیکٹری ایک کونیی فعل ہے جو قدروں کو واپس کرنے کے لئے استعمال ہوتا ہے۔ فیکٹری کے ذریعہ مانگ پر ایک قدر پیدا ہوتی ہے ، جب بھی کسی خدمت یا کنٹرولر کو اس کی ضرورت ہوتی ہے۔ ایک بار قیمت بننے کے بعد ، اسے تمام سروسز اور کنٹرولرز کے لئے دوبارہ استعمال کیا جاتا ہے۔
ہم فیکٹری کو ایک خدمت بنانے کے لئے استعمال کرسکتے ہیں۔
سروس اور فیکٹری کے مابین فرق
- کسی خدمت کی تعریف مندرجہ ذیل طریقے سے کی جاسکتی ہے۔
app.service ('فرسٹ سروس' ، فنکشن () {
this.sayHola = فنکشن () {
کنسول.لاگ ('ہیلو')
}
})
.service () طریقہ نام اور اس فعل کا استعمال کرتا ہے جو خدمت کی وضاحت کرتا ہے۔ ہم اسے درج ذیل طریقے سے انجیکشن کر سکتے ہیں۔
app.controller ('AppController' ، فنکشن (فرسٹ سروس) {
فرسٹ سروس.سے ہیلو () // لاگ ان 'ہیلو'
})
- دوسری طرف ایک فیکٹری کی تعریف مندرجہ ذیل طریقے سے کی جاسکتی ہے۔
ایپ فیکٹری ('فرسٹ سروس' ، فنکشن () {
واپسی {
sayHola: فنکشن () {
کنسول.لاگ ('ہیلو')
}
}
})
جاوا میں تقسیم کا طریقہ استعمال کرنے کا طریقہ
فیکٹری () ایک ایسا طریقہ بھی ہے جو نام اور فنکشن لیتا ہے جو فیکٹری کی وضاحت کرتا ہے۔ ہم اسے اسی طرح انجکشن لگاسکتے ہیں جیسے کسی خدمت کو انجیکشن لگاتے ہیں۔ ایک خدمت اور فیکٹری کے مابین بڑا فرق یہ ہے کہ ہم لفظی لفظی واپس کریں فیکٹری کے معاملے میں (اس کو استعمال کرنے کے بجائے)۔ اس کی وجہ یہ ہے کہ سروس تعمیراتی کام ہے جبکہ ایک فیکٹری نہیں ہے۔
- بہتر تفہیم کے ل let ، آئیے فیکٹری فنکشن () پر ایک نظر ڈالیں:
fانکشن فیکٹری (نام ، حقائق ، نافذ) {
واپسی فراہم کنندہ (نام ، {
: get: نافذ کرو! == غلط؟ نفاذترموقع (نام ، فیکٹ فن): فیکٹ فین
})
}
اوپر دیئے گئے کوڈ میں ، یہ نام اور منظور شدہ فیکٹری فنکشن لیتا ہے۔ یہ ایک فراہم کنندہ کو اسی نام کے ساتھ ، ایک کے ساتھ لوٹاتا ہے. حاصل کریں
طریقہ (جو فیکٹری فنکشن ہے)۔ اس کی وجہ یہ ہے کہ جب بھی انجیکٹر سے مخصوص انحصار کے ل is پوچھا جاتا ہے تو ، انجیکٹر فراہم کرنے والے سے اس خدمت کا مثال طلب کرکے فون کرتا ہے$ حاصل ()
طریقہ
- فرسٹ سروس کو انجیکشن لگانے پر ، فیکٹری افعال کو فون کیا جاتا ہے:
فرسٹسروس پرووائڈر۔ $ حاصل کریں () // خدمت کی مثال واپس کریں
- سروس کوڈ کے لئے:
فنکشن سروس (نام ، تعمیر کنندہ) {
واپسی کی فیکٹری (نام ، ['ject انجیکٹر' ، فنکشن ($ انجیکٹر))
واپسی $ injector.instantiate (تعمیر کنندہ)
}])
}
جب ہم فون کریںسروس () ، فیکٹری ()
اصل میں کہا جاتا ہے کہ ایک ہے. یہ ایک فنکشن گزر کر ہوتا ہے جو انجیکٹر سے کسی چیز کو کنسٹرکٹر کے ذریعہ انسٹی ٹیٹ کرنے کو کہتے ہیں۔ آسان الفاظ میں ، خدمت ایک وضاحتی فیکٹری کو کال کرتی ہے۔
ject injector.instantiate ()
فون کرتا ہےآبجیکٹ کریٹ ()
کنسٹرکٹر فنکشن کے ساتھ۔ یہی وجہ ہے یہ خدمات میں استعمال کیا جاتا ہے۔
جاوا اسکرپٹ میں فیکٹری کی مثال
var firstModule = angular.module ('firstModule' ، [])
فرسٹ موڈول ڈاٹ فیکٹری ('فرسٹ فیکٹری' ، فنکشن () {
'ایک قیمت' واپس
})
firstModule.controller ('فرسٹ کنٹرولر' ، فنکشن ($ اسکوپ ، فرسٹ فیکٹری) {
کنسول.لاگ (فرسٹ فیکٹری)
})
فیکٹری میں انجیکشن ویلیوز
ایک قیمت کو فیکٹری میں درج ذیل طریقہ سے لگایا جاسکتا ہے۔
var firstModule = angular.module ('firstModule' ، [])
پہلا ماڈیول ڈیویلیو ('نمبر ویلیو' ، 29)
firstModule.controller ('فرسٹ کنٹرولر' ، فنکشن ($ اسکوپ ، نمبر ویلیو) {
کنسول.لاگ (نمبر ویلیو)
})
نوٹ: یہ واضح رہے کہ فیکٹری فنکشن کے ذریعہ تیار کردہ قیمت انجیکشن دی جاتی ہے ، نہ کہ فیکٹری کا کام خود۔
اس کے ساتھ ، ہم AngularJS مضمون میں اس فیکٹری کا اختتام کرتے ہیں۔ مجھے امید ہے کہ آپ کو اس بات کا اندازہ ہو گیا ہے کہ فیکٹری کیا ہے اور یہ کس طرح سروس سے مختلف ہے۔
سیہیک آؤٹ ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک ہیں۔ کونییرا ایک جاوا اسکرپٹ فریم ورک ہے جو اسکیل ایبل ، انٹرپرائز ، اور پرفارمنس کلائنٹ سائڈ ویب ایپلی کیشنز بنانے کے لئے استعمال ہوتا ہے۔ کونیی ڈھانچے کو اپنانے کی حد زیادہ ہونے کی وجہ سے ، درخواست کی کارکردگی کا نظم و ضبط کمیونٹی کے ذریعہ چل رہا ہے جس سے بالواسطہ ملازمت کے بہتر مواقع مائل ہوتے ہیں۔ کونیی سرٹیفیکیشن ٹریننگ کا مقصد انٹرپرائز ایپلیکیشن ڈویلپمنٹ کے آس پاس ان تمام نئے تصورات کا احاطہ کرنا ہے۔