كيفية تقديم AOP في تطوير البرمجيات الإنتاجية؟

StackOverflow https://stackoverflow.com/questions/2155936

  •  23-09-2019
  •  | 
  •  

سؤال

أعلم أن هذا السؤال قد تم طرحه من قبل ، لكن هذا كان قبل عام ونصف ، على الرغم من أنني اعتقدت أنه قد يكون الوقت المناسب لإعادة التشكيل. أدركت أيضًا أنه قد يُنظر إليه على أنه شخصي ، لكنني أعتقد أن هناك أسبابًا موضوعية لـ/ضد AOP.

سأكون مهتمًا من يستخدم AOP في تطوير البرمجيات وكذلك لماذا أو لما لا استخدامه.

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

مسبقًا مسبقًا من قبل من أغسطس 2008: هل تستخدم AOP (البرمجة الموجهة نحو الجانب) في برنامج الإنتاج؟

هل كانت مفيدة؟

المحلول

يستمع مديرونا إلى فريق الهندسة المعمارية.

نخبرهم أن AOP هو الحل الوحيد لتنفيذ ميزات المتقاطعة:

  • بتكلفة معقولة في المقام الأول
  • دون العبث بالرمز الوظيفي الذي كتبه فريق التطوير
  • دون أن تنسى أبدًا (مقارنةً بإضافة محاولة يدويًا لآلاف الطرق) ، والآن وفي المستقبل
  • دون الحاجة إلى تدريب أو السيطرة على ما يفعله المطورون (البعض رائع ، والبعض الآخر فوضى حقيقية)
  • مع القدرة على الصيانة الجيدة

صحيح أن مشروعنا هو 20 مطورًا واستمر لعدة سنوات ، لذلك هناك كتلة ضخمة من الكود. إنه الحل الوحيد.

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

ونعم ، برنامجنا هو برامج الإنتاج. مئات العيادات تعتمد عليها!

نصائح أخرى

لا نستخدم AOP بنسبة 100 ٪ في حد ذاته ، لكن نعم ، نحن نستخدم كلما شعرنا بالملاءمة (معظمها من الربيع AOP ؛ هذا متكامل بشكل جيد مع إطار الربيع)

كيف تمكنت من تقديم AOP في مشاريعك؟

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

Spring AOP كما قال Peakit من السهل تقديمه إذا كنت تستخدم بالفعل Spring Framework في مشروعك.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top