పునర్వినియోగ సింగిల్టన్ వస్తువులు అయిన సేవలను అందిస్తుంది. వినియోగదారులు AngularJS అనువర్తనాలలో కోడ్ను భాగస్వామ్యం చేయడానికి వాటిని ఉపయోగించవచ్చు. వాటిని ఆదేశాలు, ఫిల్టర్లు మరియు ఇంజెక్ట్ చేయవచ్చు . ఈ వ్యాసంలో, AngularJS లోని ఫ్యాక్టరీని అర్థం చేసుకుంటాము.
- AngularJS లో ఫ్యాక్టరీ అంటే ఏమిటి?
- సేవ మరియు ఫ్యాక్టరీ మధ్య వ్యత్యాసం
- జావాస్క్రిప్ట్లో ఫ్యాక్టరీ యొక్క ఉదాహరణ
AngularJS లో ఫ్యాక్టరీ అంటే ఏమిటి?
ఫ్యాక్టరీ అనేది కోణీయ ఫంక్షన్, ఇది విలువలను తిరిగి ఇవ్వడానికి ఉపయోగించబడుతుంది. ఒక సేవ లేదా నియంత్రిక అవసరమైనప్పుడు ఫ్యాక్టరీచే డిమాండ్పై విలువ సృష్టించబడుతుంది. విలువ సృష్టించబడిన తర్వాత, ఇది అన్ని సేవలు మరియు నియంత్రికలకు తిరిగి ఉపయోగించబడుతుంది.
మేము ఒక సేవను సృష్టించడానికి ఫ్యాక్టరీని ఉపయోగించవచ్చు.
సేవ మరియు ఫ్యాక్టరీ మధ్య వ్యత్యాసం
- సేవను ఈ క్రింది విధంగా నిర్వచించవచ్చు:
app.service ('ఫస్ట్సర్వీస్', ఫంక్షన్ () {
this.sayHola = ఫంక్షన్ () {
console.log ('హలో')
}
})
.సర్వీస్ () పద్ధతి పేరును మరియు సేవను నిర్వచించే ఫంక్షన్ను తీసుకుంటుంది. మేము దానిని ఈ క్రింది విధంగా ఇంజెక్ట్ చేయవచ్చు:
app.controller ('AppController', ఫంక్షన్ (ఫస్ట్ సర్వీస్) {
FirstService.sayHello () // లాగ్లు 'హలో'
})
- ఒక కర్మాగారం, మరోవైపు ఈ క్రింది విధంగా నిర్వచించవచ్చు:
app.factory ('ఫస్ట్సర్వీస్', ఫంక్షన్ () {
తిరిగి {
సేహోలా: ఫంక్షన్ () {
console.log ('హలో')
}
}
})
ఫ్యాక్టరీ () అనేది ఫ్యాక్టరీని నిర్వచించే పేరు మరియు ఫంక్షన్ తీసుకునే పద్ధతి. మేము ఒక సేవను ఇంజెక్ట్ చేసిన విధంగానే ఇంజెక్ట్ చేయవచ్చు. ఒక సేవ మరియు కర్మాగారం మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే వస్తువును తిరిగి ఇవ్వండి ఫ్యాక్టరీ విషయంలో (దీన్ని ఉపయోగించకుండా). కారణం, సేవ అనేది కన్స్ట్రక్టర్ ఫంక్షన్ అయితే ఫ్యాక్టరీ కాదు.
- మంచి అవగాహన కోసం, ఫ్యాక్టరీ ఫంక్షన్ () ను పరిశీలిద్దాం:
function ఫ్యాక్టరీ (పేరు, factFn, అమలు) {
రిటర్న్ ప్రొవైడర్ (పేరు, {
$ పొందండి: అమలు చేయండి! == తప్పుడు? forceceReturnValue (పేరు, factFn): factFn
})
}
డెవొప్స్లో చెఫ్ అంటే ఏమిటి
పైన ఇచ్చిన కోడ్లో, ఇది పేరు మరియు ఆమోదించిన ఫ్యాక్టరీ ఫంక్షన్ను తీసుకుంటుంది. ఇది అదే పేరుతో ప్రొవైడర్ను తిరిగి ఇస్తుంది$ పొందండి
పద్ధతి (ఇది ఫ్యాక్టరీ ఫంక్షన్). ఇంజెక్టర్ను నిర్దిష్ట డిపెండెన్సీ కోసం అడిగినప్పుడల్లా, ఇంజెక్టర్ ప్రొవైడర్ను ఆ సేవ యొక్క ఉదాహరణ కోసం కాల్ చేయడం ద్వారా అడుగుతుంది.$ పొందండి ()
పద్ధతి.
- ఫస్ట్సర్వీస్ను ఇంజెక్ట్ చేసినప్పుడు, ఫ్యాక్టరీ విధులు పిలువబడతాయి:
FirstServiceProvider. $ Get () // సేవ యొక్క ఉదాహరణను తిరిగి ఇవ్వండి
- సేవా కోడ్ కోసం:
ఫంక్షన్ సేవ (పేరు, కన్స్ట్రక్టర్) {
రిటర్న్ ఫ్యాక్టరీ (పేరు, ['$ ఇంజెక్టర్', ఫంక్షన్ ($ ఇంజెక్టర్) {
తిరిగి $ injector.instantiate (కన్స్ట్రక్టర్)
}])
}
మేము పిలిచినప్పుడుసేవ (), ఫ్యాక్టరీ ()
వాస్తవానికి పిలువబడేది. కన్స్ట్రక్టర్ చేత ఒక వస్తువును తక్షణం చేయమని ఇంజెక్టర్ను అడిగే ఫంక్షన్ను పంపడం ద్వారా ఇది జరుగుతుంది. సరళంగా చెప్పాలంటే, సేవ ముందే నిర్వచించిన కర్మాగారాన్ని పిలుస్తుంది.
$ injector.instantiate ()
అని పిలుస్తుందిఆబ్జెక్ట్ క్రియేట్ ()
కన్స్ట్రక్టర్ ఫంక్షన్తో. అందుకే ఇది సేవల్లో ఉపయోగించబడుతుంది.
జావాస్క్రిప్ట్లో ఫ్యాక్టరీ యొక్క ఉదాహరణ
var firstModule = angular.module ('firstModule', [])
firstModule.factory ('firstFactory', ఫంక్షన్ () {
'విలువ' తిరిగి ఇవ్వండి
})
firstModule.controller ('FirstController', function ($ scope, firstFactory) {
console.log (ఫస్ట్ఫ్యాక్టరీ)
})
ఫ్యాక్టరీలోకి విలువలను ఇంజెక్ట్ చేయడం
కింది పద్ధతి ద్వారా ఒక విలువను ఫ్యాక్టరీలోకి ప్రవేశపెట్టవచ్చు:
var firstModule = angular.module ('firstModule', [])
firstModule.value ('numberValue', 29)
firstModule.controller ('FirstController', function ($ scope, numberValue) {
console.log (సంఖ్య విలువ)
})
గమనిక: ఫ్యాక్టరీ ఫంక్షన్ ద్వారా ఉత్పత్తి చేయబడిన విలువ ఇంజెక్ట్ చేయబడిందని గమనించాలి, ఫ్యాక్టరీ ఫంక్షన్ కాదు.
దీనితో, మేము AngularJS వ్యాసంలో ఈ ఫ్యాక్టరీ ముగింపుకు వచ్చాము. ఫ్యాక్టరీ అంటే ఏమిటి మరియు ఇది సేవ నుండి ఎలా భిన్నంగా ఉంటుంది అనే దానిపై మీకు అవగాహన వచ్చిందని నేను ఆశిస్తున్నాను.
సిహెక్ అవుట్ ప్రపంచవ్యాప్తంగా విస్తరించి ఉన్న 250,000 మందికి పైగా సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. కోణీయ అనేది జావాస్క్రిప్ట్ ఫ్రేమ్వర్క్, ఇది స్కేలబుల్, ఎంటర్ప్రైజ్ మరియు పనితీరు క్లయింట్-సైడ్ వెబ్ అనువర్తనాలను సృష్టించడానికి ఉపయోగించబడుతుంది. కోణీయ ఫ్రేమ్వర్క్ స్వీకరణ అధికంగా ఉండటంతో, అనువర్తనం యొక్క పనితీరు నిర్వహణ సమాజంతో నడిచేది పరోక్షంగా మెరుగైన ఉద్యోగ అవకాశాలను అందిస్తుంది. ఎంటర్ప్రైజ్ అప్లికేషన్ డెవలప్మెంట్ చుట్టూ ఈ కొత్త భావనలన్నింటినీ కవర్ చేయడం కోణీయ ధృవీకరణ శిక్షణ.