Logo ar.removalsclassifieds.com

الفرق بين حقن المنشئ وحقن الواضع (مع الجدول)

جدول المحتويات:

Anonim

عندما يتم حل التبعية بواسطة وكيل خارجي بدلاً من الفئة نفسها ، فإنه يُعرف بحقن التبعية. هناك طريقتان قياسيتان لحقن التبعية يتم دعمهما في إطار عمل Spring ، من خلال وسيطة منشئ أو عبر استخدام طريقة setter. يُعرف النوع الأول من حقن التبعية بحقن المُنشئ ، والأخير يُعرف بحقن المُحضر. يتم استخدام كلتا الطريقتين لأغراض مختلفة ولها مزاياها وعيوبها.

حقن المنشئ مقابل حقن الواضع

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

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

حقن الواضع هو نوع من حقن التبعية في الإطار الربيعي الذي يستخدم طرق الضبط لحقن التبعية. يحتوي على طرق تعيين من النموذج setXXX () حيث يشير XXX إلى التبعية التي تقوم بحقن الكائنات التابعة في العميل. هذه الطريقة لحل التبعية شائعة جدًا في إطار الربيع.

جدول المقارنة بين حقن المنشئ وحقن الواضع

معلمات المقارنة

حقن المنشئ

حقن واضعة

حقن التبعية يستخدم منشئ. يستخدم طرق واضعة.
مقروئية انها ليست سهلة القراءة بالمقارنة مع واضعة. إنه أكثر قابلية للقراءة.
تجاوز الخاصية لا يمكن تجاوز التبعية. يمكن أن تتجاوز بعض التبعيات.
التغييرات يقوم دائمًا بإنشاء مثيل فول جديد. لا يُنشئ أي مثيل جديد للفول.
ثبات يدعم الثبات. لا يدعم.

ما هو حقن المنشئ؟

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

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

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

ما هو حقن Setter؟

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

نظرًا لأن طرق setter لها شكل محدد من أسماء الطرق ، فإنها تعزز قابلية القراءة بعدة طرق. عندما تكون هناك حاجة لحقن عدد أكبر من التبعيات ، فإن نوع حقن الواضع مفضل جدًا ومفضل على الأنواع الأخرى من طرق الحقن. بالإضافة إلى ذلك ، باستخدام حقن setter ، يمكن للمطورين تجاوز القيم وتغييرها بسهولة لأنه لا ينشئ مثيلًا جديدًا من الفول في كل مرة. العيب الوحيد لحقن الواضع هو أنه لا يضمن الحقن الكامل للتبعية.

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

الاختلافات الرئيسية بين حقن المنشئ وحقن الواضع

استنتاج

خلاصة القول هي أن كلا الطريقتين لحقن التبعيات تسمحان إما بحقن المُنشئ أو حقن الواضع ، ولكل منهما إيجابيات وسلبيات. بالإضافة إلى ذلك ، سبرينج لا يمتنع المطورين عن استخدام أي شخص سوى المقيم. إنهم أحرار في استخدام كل من حقن المُنشئ وحقن المُعد في ملف تكوين Spring. الشيء المهم الذي يجب احتوائه في الاعتبار أثناء حقن التبعية هو استخدام حقنة المُنشئ عندما تكون هناك حاجة إلزامية لإنشاء كائنات بكل التبعيات واستخدام حقن المُعيِّن عندما يكون عدد التبعيات أكبر أو إذا كانت هناك حاجة إلى الأفضل مقروئية.

مراجع

  1. https://digitalcommons.calpoly.edu/csse_fac/34/
  2. https://books.google.com/books؟hl=ar&lr=&id=InfRDwAAQBAJ&oi=fnd&pg=PA63&dq=constructor+injection&ots=Hon_bCw-Kv&sig=VdsD_S0lCfP3D8idI8q4F6RnhoE

الفرق بين حقن المنشئ وحقن الواضع (مع الجدول)