كل ما تحتاج لمعرفته حول المصنع في AngularJS



ستزودك هذه المقالة بمعرفة مفصلة وشاملة عن المصنع في AngularJS وكيف يختلف عن الخدمة.

يوفر خدمات يمكن إعادة استخدامها كائنات مفردة. يمكن استخدامها لمشاركة الكود عبر تطبيقات AngularJS للمستخدمين. يمكن أيضًا إدخالها في التوجيهات والمرشحات و . في هذه المقالة ، سوف نفهم المصنع في AngularJS.

ما هو المصنع في AngularJS؟

المصنع هو دالة زاوية تُستخدم لإرجاع القيم. يقوم المصنع بإنشاء قيمة عند الطلب ، متى احتاجت إليها خدمة أو وحدة تحكم. بمجرد إنشاء القيمة ، يتم إعادة استخدامها لجميع الخدمات ووحدات التحكم.





Angular Logo - مصنع في AngularJS

يمكننا استخدام المصنع لإنشاء خدمة.



الفرق بين الخدمة والمصنع

  • يمكن تعريف الخدمة بالطريقة التالية:

app.service ('FirstService'، function () {

this.sayHola = الوظيفة () {



console.log ('مرحبًا')

}

})

تأخذ طريقة .service () الاسم والوظيفة التي تحدد الخدمة. يمكننا حقنه بالطريقة التالية:

app.controller ('AppController'، function (FirstService) {

FirstService.sayHello () // تسجيلات 'Hello'

})

نوع الوظيفة في SQL
  • من ناحية أخرى ، يمكن تعريف المصنع بالطريقة التالية:

app.factory ('FirstService'، function () {

إرجاع {

sayHola: الوظيفة () {

console.log ('مرحبًا')

}

}

})

Factory () هي أيضًا طريقة تأخذ اسمًا ووظيفة تحدد المصنع. يمكننا حقنه بنفس طريقة حقن الخدمة. الفرق الرئيسي بين الخدمة والمصنع هو أننا إرجاع كائن حرفي في حالة المصنع (بدلاً من استخدام هذا). والسبب هو أن الخدمة هي وظيفة منشئ بينما المصنع ليس كذلك.

  • لفهم أفضل ، دعنا نلقي نظرة على وظيفة المصنع ():

Fمصنع unction (الاسم ، factFn ، فرض) {

مزود الإرجاع (الاسم ، {

الحصول على $: فرض! == خطأ؟ EnforceReturnValue (الاسم ، factFn): factFn

})

}

في الكود الوارد أعلاه ، يأخذ الاسم ووظيفة المصنع التي تم تمريرها. تقوم بإرجاع موفر بنفس الاسم ، إلى جانب ملفالحصول على دولارالطريقة (وهي وظيفة المصنع). ويرجع ذلك إلى السبب في أنه عندما يُطلب من الحاقن تبعية معينة ، فإن الحاقن يطلب من المزود نسخة من تلك الخدمة عن طريق استدعاءالحصول على دولار ()طريقة.

  • عند حقن FirstService ، يتم استدعاء وظائف المصنع:

FirstServiceProvider. $ get () // يُرجع مثيل الخدمة

  • لرمز الخدمة:

خدمة الوظيفة (الاسم ، المُنشئ) {

إرجاع المصنع (الاسم ، ['$ حاقن' ، الوظيفة ($ حاقن) {

إرجاع $ حاقن.instantiate (منشئ)

}])

}

عندما نتصلالخدمة () ، المصنع ()هو الذي يسمى في الواقع. يتم ذلك عن طريق تمرير وظيفة تطلب من الحاقن إنشاء مثيل لكائن بواسطة المُنشئ. بعبارات أبسط ، تستدعي الخدمة مصنعًا محددًا مسبقًا.

$ حاقن.instantiate ()يدعو الObject.create ()مع دالة المُنشئ. لذلك هذه يستخدم في الخدمات.

مثال على المصنع في JavaScript

var firstModule = angular.module ('firstModule'، [])

firstModule.factory ('firstFactory'، function () {

كيفية تجميع برامج جافا

إرجاع 'قيمة'

})

firstModule.controller ('FirstController'، function ($ range، firstFactory) {

console.log (firstFactory)

})

ضخ القيم في المصنع

يمكن حقن قيمة في المصنع بالطريقة التالية:

var firstModule = angular.module ('firstModule'، [])

firstModule.value ('numberValue'، 29)

firstModule.controller ('FirstController'، function ($ range، numberValue) {

console.log (numberValue)

})

ملحوظة: وتجدر الإشارة إلى أنه يتم حقن القيمة التي تنتجها وظيفة المصنع ، وليس وظيفة المصنع نفسها.

مع هذا ، وصلنا إلى نهاية هذا المصنع في مقالة AngularJS. أتمنى أن تكون قد فهمت ماهية المصنع بالضبط وكيف يختلف عن الخدمة.

جتحقق من من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. Angular هو إطار عمل JavaScript يُستخدم لإنشاء تطبيقات ويب قابلة للتطوير ومؤسسة وأداء من جانب العميل. مع اعتماد إطار العمل الزاوي عاليًا ، فإن إدارة أداء التطبيق مدفوعة بالمجتمع بشكل غير مباشر يقود فرص عمل أفضل. يهدف تدريب Angular Certification إلى تغطية كل هذه المفاهيم الجديدة حول تطوير تطبيقات المؤسسة.