Aspect-oriented programming
لتكبير النص لتصغير النص- Work cat.: Dechow, Doug. Advanced separation of concerns and the compatibility of aspect-orientation, 2005(Aspect-oriented programming (AOP), which is the main area of this dissertation, offers a form of advanced separation of concerns in which primary and crosscutting concerns can be separated during problem solving)
- Answers.com, accessed Aug. 1, 2005(aspect-oriented programming - In Software Engineering, the programming paradigm of aspect-oriented programming (AOP) (also called aspect-oriented software development (AOSD)) attempts to aid programmers in the separation of concerns, or the breaking down of a program into distinct parts that overlap in functionality as little as possible. In particular, AOP focuses on the modularization and encapsulation of cross-cutting concerns. The concept was originally introduced by Gregor Kiczales and his team at Xerox PARC. This team also developed the first, and still most popular, AOP language: AspectJ)
- Whatis.com, accessed Aug. 1, 2005(Aspect-oriented programming (AOP) is an approach to programming that allows global properties of a program to determine how it is compiled into an executable program. AOP can be used with object-oriented programming)
- FOLDOC, accessed Aug.1, 2005(aspect-oriented programming (AOP). A style of programming that attempts to abstract out features common to many parts of the code beyond simple functional modules and thereby improve the quality of software)
- Google search, Aug. 1, 2005(search on "aspect oriented programming": 243,000 hits)
في الحوسبة؛ البرمجة موجهة بالسمات (بالإنجليزية: Aspect-Oriented Programming) هي نمط برمجة يهدف إلى زيادة التركيبية، إذ تسمح بالفصل بين الاهتمامات المتقاطعة. وذلك بإضافة إجراء إضافي (إرشاد) إلى كود موجود دون تعديل الكود نفسه، فبدلًا من التحديد المنفصل الذي يُعدَل فيه الكود من خلال مواصفات «نقطة القطع (pointcut)»، مثل «تسجيل جميع الاستدعاءات الوظيفية للوظائف التي يبدأ اسمها بـ «set». تتيح هذه البرمجة إضافة إجراءات غير أساسية لمنطق الأعمال (مثل التسجيل) إلى البرامج دون تشويش الكود الأساسي للوظيفة. تعد البرمجة الموجهة بالسمات أساسًا لتطوير البرمجيات ذات السمات. تتضمن البرمجة الموجهة بالسمات التوجه طُرق وأدوات برمجية تدعم نمذجة الاهتمامات على مستوى الكود المصدري، بينما يشير «تطوير البرمجيات ذات السمات» إلى تخصص هندسي كامل. تستلزم البرمجة الموجهة بالسمات تقسيم منطق البرنامج إلى أجزاء مميزة (تسمى الاهتمامات، مجالات أداء وظيفي متماسكة). تدعم جميع أنماط البرمجة تقريبًا مستوى ما من تجميع وتغليف الاهتمامات في كيانات مستقلة منفصلة بتقديم التجريدات (مثل الوظائف والإجراءات والوحدات النمطية والأصناف والطرق) التي يمكن استخدامها لتنفيذ هذه الاهتمامات وتجريدها وتجميعها. تتقاطع بعض الاهتمامات مع تجريدات متعددة في البرنامج، تستعصي على أشكال التنفيذ هذه. وتسمى هذه الاهتمامات الاهتمامات المتقاطعة أو الاهتمامات الأفقية. يمثل التسجيل اهتمامًا متقاطعًا لأن إستراتيجية التسجيل تؤثر بالضرورة على كل جزء مسجل من النظام. وبالتالي يتقاطع التسجيل جميع الأصناف والطرق المسجلة. تحتوي جميع تطبيقات البرمجة الموجهة بالسمات بعض التعبيرات المتقاطعة التي تُغلّف كل اهتمام في مكان واحد. يكمن الاختلاف بين التطبيقات في القوة والآمان وسهولة الاستخدام للبنيات المقدمة. مثلًا، الاعتراضات التي تحدد طرق للتعبير عن شكل محدود للتقاطع، دون الدعم الجيد لسلامة الأنواع أو تصحيح الأخطاء. يملك امتداد AspectJ عددًا من هذه التعبيرات التي يغلفها في صنف خاص، يدعى جانب. مثلًا، يمكن للجانب أن يغير إجراء الكود الأساسي (الجزء غير الجانبي من البرنامج) من خلال تطبيق إرشاد (إجراء إضافي) في نقاط الربط المختلفة (نقاط في البرنامج) المحددة في تقدير الكمي أو استعلام يسمى نقطة القطع (يحدد ما إذا كانت نقطة ربط معينة مطابقة). يمكن للجانب أيضًا إجراء تغييرات هيكلية ثنائية متوافقة للأصناف الأخرى، مثل إضافة أصناف أعضاء أو أصناف آباء.
לקריאת הערך המלא בויקיפדיה >