انتقل إلى المحتوى

مبدأ المهمة الواحدة

من ويكيبيديا، الموسوعة الحرة

هذه نسخة قديمة من هذه الصفحة، وقام بتعديلها عماد الدين المقدسي (نقاش | مساهمات) في 10:13، 25 يوليو 2020. العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة، وقد تختلف اختلافًا كبيرًا عن النسخة الحالية.

يستخدم مبدأ المهمة الواحدة (بالإنجليزية: Single-responsibility principle)‏ في البرمجة الكائنية ليوضح أن كل كائن يجب أن تكون له مهمة واحدة فقط، ويجب أن تكون تلك المهمة مغلفة بالكامل داخل الصنف وكل الخدمات التي يقدمها يجب أن تصب في نفس تلك المهمة.[1][2][3]

قُدم هذا المصطلح بواسطة روبرت مارتن (Robert C. Martin) في مقال يحمل نفس الاسم كجزء من مؤلَّفه "مبادئ التصميم الكائني". أصبح المصطلح شائعاً من خلال كتابه "تطوير البرمجيات على طريقة الأجايل - مبادئ ونماذج وممارسات". يصف مارتن هذا المبدأ على أنه مبني على مبدأ التماسك.

يعرِّف مارتن المهمة على أنها "سبب للتغيير" و يخلص في النهاية للقول أنه يجب أن يكون هنالك سبب واحد فقط لتغيير أي صنف أو تركيبة. على سبيل المثال، تخيل وجود تركيبة ما مسؤولة عن تنسيق وطباعة التقارير. هنالك سببان يمكن أن يدعوا لتغيير تركيبة كهذه. الأول هو تغير محتوى التقرير. أما الثاني فهو تغير نسق التقرير. هذان السببان ينبعان من منطلقين مختلفين تماماً، أحدهما جوهري أما الآخر فهو تجميلي. بحسب مبدأ المهمة الواحدة فإن هذين السببين يعتبران مهمتين مختلفتين، وبالتالي يجب أن يتواجدا في صنفين أو تركيبتين مختلفتين.

انظر أيضاً

مراجع

  1. ^ Martin، Robert C. (2003). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. ص. 95. ISBN:978-0135974445. مؤرشف من الأصل في 2019-05-10. {{استشهاد بكتاب}}: الوسيط |ref=harv غير صالح (مساعدة)
  2. ^ Page-Jones، Meilir (1988). The Practical Guide to Structured Systems Design. Yourdon Press Computing Series. ص. 82. ISBN:978-8120314825.
  3. ^ DeMarco، Tom. (1979). Structured Analysis and System Specification. برنتيس هول  [لغات أخرى]‏. ISBN:0-13-854380-1. مؤرشف من الأصل في 2019-12-16.{{استشهاد بكتاب}}: صيانة الاستشهاد: علامات ترقيم زائدة (link)