logo

دروس الربيع AOP

  1. ما هو AOP؟
  2. أين استخدم AOP؟
  3. مفاهيم ومصطلحات AOP
  4. تنفيذ Spring AOP

الجانب برمجة (AOP) يكمل OOPs بمعنى أنه يوفر أيضًا نمطية. لكن الوحدة الأساسية للنمطية هي الجانب وليس الطبقة.

يقوم AOP بتقسيم منطق البرنامج إلى أجزاء مميزة (تسمى الاهتمامات). يتم استخدامه لزيادة نمطية من خلال اهتمامات مشتركة .

أ القلق الشامل هي مشكلة يمكن أن تؤثر على التطبيق بأكمله ويجب أن تكون مركزية في مكان واحد في التعليمات البرمجية قدر الإمكان، مثل إدارة المعاملات، والمصادقة، والتسجيل، والأمن وما إلى ذلك.


لماذا نستخدم AOP؟

إنه يوفر طريقة قابلة للتوصيل لإضافة الاهتمام الإضافي ديناميكيًا قبل المنطق الفعلي أو بعده أو حوله. لنفترض أن هناك 10 طرق في الفصل كما هو موضح أدناه:

 class A{ public void m1(){...} public void m2(){...} public void m3(){...} public void m4(){...} public void m5(){...} public void n1(){...} public void n2(){...} public void p1(){...} public void p2(){...} public void p3(){...} } 

هناك 5 طرق تبدأ من m، وطريقتان تبدأان من n، و3 طرق تبدأ من p.

فهم السيناريو لا بد لي من الاحتفاظ بالسجل وإرسال الإشعارات بعد استدعاء الأساليب التي تبدأ من m.

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

ولكن، إذا قال العميل في المستقبل، لا يتعين علي إرسال إشعار، فأنت بحاجة إلى تغيير جميع الطرق. يؤدي إلى مشكلة الصيانة.

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

في المستقبل، إذا طلب العميل إزالة وظيفة الإعلام، فسنحتاج إلى التغيير فقط في ملف xml. لذلك، الصيانة سهلة في AOP.

السيلينيوم

أين استخدم AOP؟

يتم استخدام AOP في الغالب في الحالات التالية:

  • لتوفير خدمات المؤسسة التصريحية مثل إدارة المعاملات التصريحية.
  • يسمح للمستخدمين بتنفيذ الجوانب المخصصة.

مفاهيم ومصطلحات AOP

مفاهيم ومصطلحات AOP هي كما يلي:

  • نقطة الانضمام
  • نصيحة
  • بوينكت
  • مقدمة
  • الكائن المستهدف
  • وجه
  • المعترض
  • وكيل AOP
  • النسيج

نقطة الانضمام

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


نصيحة

تمثل النصيحة الإجراء الذي تم اتخاذه بواسطة جانب ما عند نقطة ربط معينة. هناك أنواع مختلفة من النصائح:

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

بوينكت

إنها لغة تعبير لـ AOP تتطابق مع نقاط الانضمام.


مقدمة

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


الكائن المستهدف

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


وجه

إنها فئة تحتوي على النصائح ونقاط الانضمام وما إلى ذلك.


المعترض

وهو الجانب الذي يحتوي على نصيحة واحدة فقط.


وكيل AOP

يتم استخدامه لتنفيذ العقود الجانبية التي تم إنشاؤها بواسطة إطار عمل AOP. سيكون وكيلًا ديناميكيًا لـ JDK أو وكيل CGLIB في إطار عمل الربيع.


النسيج

إنها عملية ربط الجانب بأنواع التطبيقات أو الكائنات الأخرى لإنشاء كائن موصى به. يمكن إجراء النسيج في وقت الترجمة أو وقت التحميل أو وقت التشغيل. يقوم Spring AOP بالنسيج في وقت التشغيل.

اتصالات في جافا

تطبيقات AOP

يتم توفير تطبيقات AOP بواسطة:

  1. الجانب J
  2. الربيع AOP
  3. جي بوس أوب

الربيع AOP

يمكن استخدام Spring AOP بثلاث طرق مذكورة أدناه. لكن النهج المستخدم على نطاق واسع هو Spring AspectJ Annotation Style. الطرق الثلاثة لاستخدام Spring AOP مذكورة أدناه:

  1. بواسطة Spring1.2 النمط القديم (يعتمد على dtd) (مدعوم أيضًا في Spring3)
  2. بواسطة نمط التعليق التوضيحي AspectJ
  3. بواسطة نمط تكوين Spring XML (يعتمد على المخطط)

الروابط المرجعية

مصدر الربيع AOP
واجهة برمجة تطبيقات مصدر الربيع AOP
ويكيبيديا